노드 0.8.14가 이미 설치된 새 Ubuntu 12.04 인스턴스에 노드 환경을 설정하려고하는데
npm install
를 실행하려고 할 때 문제가 발생했습니다.
.
그래서
npm install
를 시도하면
루트 또는 관리자로 실행해야한다고 말합니다.
Error: EACCES, mkdir '/usr/local/lib/node_modules/coffee-script'
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/coffee-script']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/coffee-script',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/coffee-script',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ 'DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23)',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR! 'Object.oncomplete (fs.js:297:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
하지만 sudo로 실행하려고하면 다음과 같이 표시됩니다.
npm WARN cannot run in wd [email protected] npm install -g coffee-script node-gyp (wd=/home/ubuntu/PackNode)
package.json에는 다음 스크립트가 포함되어 있습니다 :
"scripts": {
"preinstall": "npm install -g coffee-script node-gyp",
"start": "node server.js",
"test": "mocha --require should --compilers coffee:coffee-script --colors"
},
나머지의 devdependencies는 내 컴퓨터 (Mac)에 제대로 설치했기 때문에 유효합니다. 왜 이런 일이 일어나고 있는지 실마리가 있습니까?
- 답변 # 1
- 답변 # 2
나를 위해 일한 유일한 것은
preinstall
를 추가하는 것이 었습니다 다음을 포함하는 파일 :npm install
sudo npm install -g coffee-script node-gyp npm install
에 동일한 구성 추가 효과가 없었습니다. - 답변 # 3
루트 사용자를 사용하여 CentO를 실행하는 개인 서버에 nodejs 앱을 게시하려고 할 때도 같은 문제가 발생했습니다. package.json 파일의 "postinstall": "./node_modules/bower/bin/bower install"에서 동일한 오류가 발생하므로 나에게 도움이되는 유일한 해결책은 두 가지 옵션을 모두 사용하여 오류를 피하는 것입니다.
1 : bower 설치 명령에 --allow-root 옵션 사용
.npmrc
2 : npm install 명령에 --unsafe-perm 옵션 사용
unsafe-perm = true
- 답변 # 4
OP 여기,이 질문을 처음 한 이후 노드에 대해 더 많이 배웠습니다. Dmitry의 답변이 매우 도움이되었지만 궁극적으로 올바른 권한을 가진 노드를 설치하는 것이 나에게 도움이되었습니다.
패키지 관리자를 사용하여 노드를 설치하지 말고 직접 권한을 가진 로컬 디렉토리에 상주하도록 직접 컴파일하는 것이 좋습니다.
이 기사는이를 수행하는 방법에 대한 매우 명확한 단계별 지침을 제공합니다.
https://www.digitalocean.com/community/tutorials/how-to-install-an-upstream-version-of-node-js-on-ubuntu-12-04
- 답변 # 5
package.json
의 소유권을 변경하여이 문제를 해결했습니다. 그리고"postinstall": "./node_modules/bower/bin/bower --allow-root install"
이렇게 :npm install --unsafe-perm
이것은
/usr/local
없이 모든 것을 할 수있게 해주었습니다~/Users/user-name
관련 자료
- R에 Tensorflow를 설치할 수 없습니다 '{PATH}에 대한 Python 환경을 찾을 수 없습니다'
- python - 패키지를 하나씩 설치할 수 있지만 pip install -r requirementstxt는 사용할 수 없습니다
- pip - python - googletrans를 설치할 수 없습니다
- node.js - [email protected] 설치 스크립트에서 실패시 npm 설치 실패
- Anaconda는 Python을 36으로 다운 그레이드 할 수 없으며 tensorflow를 설치할 수 없습니다
- docsify 용 복사 코드 플러그인을 설치할 수 없습니다
- raspbian - Raspian은 32 비트 또는 64 비트를 사용하여 v4l2loopback-dkms를 설치할 수 없습니다
- java - " 'gpgexe'는 내부 또는 외부 명령으로 인식되지 않습니다"오류로 인해 설치 또는 배포 할 수 없습니다
- linux - "snap install microk8s --classic"을 사용하여 microk8s를 설치하지 못했습니다
- fedora - 'stringi'R 패키지를 설치할 수 없습니다 — C 컴파일러 문제?
- java - 설치 후 Glassfish를 시작할 수 없음, Ubuntu 1804
- npm을 사용하여 sass를 설치하고 싶지만 오류가 발생합니다 - "semver"모듈을 찾을 수 없습니다
- c# - 플랫 파일 대상 사전 실행 단계에 실패했습니다 데이터 파일을 열 수 없습니다
- rubygems - 실패한 루비 젬 설치 수정
- groovy - kamel 설치 명령이 작동하지 않습니다 오류 - 이미지를 푸시 할 레지스트리를 자동으로 찾을 수 없습니다
- python - pip를 사용하여 scitools-iris를 설치하지 못했습니다 - importerror target_pkg라는 모듈이 없습니다 (파이크)
- angular - 테스트를 실행하는 동안 "실패 - 정의되지 않은 '구독'속성을 읽을 수 없습니다"라는 메시지가 나타나는 이유는 무엇입니까?
- system installation - Ubuntu 2004 LTS를 외장 HDD에 설치할 수 없습니다
- 1804 D-Link DWA-172 용 드라이버를 설치할 수 없습니다
- python - TensorFlow 1x를 설치할 수 없습니다
- node.js : 범위가 지정된 비공개 NPM 패키지에서 검색
- javascript : node-sass-middleware가 설치되지 않고 이것을 보여줍니다-->
- javascript : 최신 노드 제거 및 이전 버전으로 다운그레이드하는 방법
- node.js : npm run build를 사용하려고 할 때 문제에 직면함
- node.js : Mac용 nodejs 및 npm의 이전 버전 업데이트
- node.js : 기본적으로 `npm install`을 중복 제거(평탄화)로 만듭니다.
- node.js : Google 앱 엔진에 nodejs 앱 배포
- node.js : npm node js로 eslint 실행 문제
- node.js : npm을 설치할 때 circleci가 실패했습니다.
- node.js : Git bash에서 heroku에 앱을 배포하려고 하는데 heroku에서 앱을 열 수 없습니다.
문서는 다음과 같이 말합니다 :
와이즈 비즈 와이즈 비즈 기본 설정은옵션은 :
<올>nobody
실행unsafe-perm
와 함께 플래그 :와이즈 비즈 추가 당신의
--unsafe-perm
에 플래그 :unsafe-perm
를 사용하지 마십시오 스크립트를 사용하여 전역 모듈을 설치하고 별도로 설치 한 다음 일반package.json
를 실행하십시오. 루트 권한이없는 경우 :관련:
전역 모듈 설치를위한 packageage.json