2014-08-29 1 views
1

Mac에서 MEANIO를 npm을 사용하여 설치하려고하면 설치에 실패한 몇 가지 오류가 발생했습니다. 오류는 다음과 같습니다.npm을 사용하여 Mac OS X에 MEANIO를 설치할 때 문제가 발생했습니다

두 가지 주요 유형의 문제가 있습니다. 하나는 오류 EACCES이고 다른 하나는 ERROR ENOENT입니다. 나는 많은 도움을주지 못하는 몇 가지 해결책을 시도해 왔습니다.

1. sudo npm clear cache 
2. sudo npm update -g 
3. Permission fix: by changing nodejs folder's permission to local user 

는 (참조 : npm install errors with Error: ENOENT, chmod)

나는 문제의 원인이 무엇인지 궁금합니다. 내 앱을 게시하지 않기 때문에 링크에 제공된 솔루션에 따라 .npmignore를 포함 할 방법이 없습니다. 링크의 두 번째 대답은 문제의 본질이 다음과 같다고 주장합니다.

"위의 조치로 인해 ~/.npm/dir에 일부 종속성이 설치되어 루트 : root 소유권 (sudo로 인해 ...)이 발생했습니다. npm이 종속 파일을 풀어서 로컬 사용자 subdir ~/.npm /에 기록 할 때 npm이 로컬 사용자로 실행되지 않거나 (또는 ​​종속성 하위 디렉토리 소유권을 변경 한 것 같습니다) 근본적인 유닉스 파일 시스템 보안 문제에 대해 npm이 부주의하면 다시 일어날 것 "이라고 말했다.

필자의 경우이 내용이 정확한지 의심 스럽습니다. MEANIO의 설치로 인해 많은 문제가 발생하지 않아야합니다.

쉘 명령 및 오류 메시지는 다음과 같습니다

localhost:local Nick_Guan$ sudo npm install -g [email protected] 
npm WARN engine [email protected]: wanted: {"node":"0.10.x","npm":"1.4.x"} (current:   {"node":"0.10.31","npm":"2.0.0-beta.1"}) 
npm WARN engine [email protected]: wanted: {"node":">=0.8","npm":"1"} (current: {"node":"0.10.31","npm":"2.0.0-beta.1"}) 

> [email protected] postinstall /usr/local/lib/node_modules/meanio/node_modules/mean-health 
> node postinstall 

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied 

node.js:815 
var cwd = process.cwd(); 
       ^
Error: EACCES, permission denied 
at Function.startup.resolveArgv0 (node.js:815:23) 
at startup (node.js:58:13) 
at node.js:906:3 
npm ERR! Error: ENOENT, chown '/usr/local/lib/node_modules/meanio/node_modules/prompt/test/prompt-test.js' 
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at: 
npm ERR!  <http://github.com/npm/npm/issues> 

npm ERR! System Darwin 13.1.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "[email protected]" 
npm ERR! cwd /usr/local 
npm ERR! node -v v0.10.31 
npm ERR! npm -v 2.0.0-beta.1 
npm ERR! path /usr/local/lib/node_modules/meanio/node_modules/prompt/test/prompt-test.js 
npm ERR! fstream_path /usr/local/lib/node_modules/meanio/node_modules/prompt/test/prompt-test.js 
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter 
npm ERR! fstream_finish_call chown 
npm ERR! code ENOENT 
npm ERR! errno 34 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/writer.js:308:19 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:143:7 
npm ERR! fstream_stack Object.oncomplete (evalmachine.<anonymous>:107:15) 
npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/meanio/node_modules/npm/bin/npm-cli.js' 
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at: 
npm ERR!  <http://github.com/npm/npm/issues> 

npm ERR! System Darwin 13.1.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "[email protected]" 
npm ERR! cwd /usr/local 
npm ERR! node -v v0.10.31 
npm ERR! npm -v 2.0.0-beta.1 
npm ERR! path /usr/local/lib/node_modules/meanio/node_modules/npm/bin/npm-cli.js 
npm ERR! fstream_path /usr/local/lib/node_modules/meanio/node_modules/npm/bin/npm-cli.js 
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter 
npm ERR! fstream_finish_call chmod 
npm ERR! code ENOENT 
npm ERR! errno 34 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/writer.js:308:19 
npm ERR! fstream_stack Object.oncomplete (evalmachine.<anonymous>:107:15) 
npm ERR! Error: ENOENT, chown '/usr/local/lib/node_modules/meanio/node_modules/bower/lib/config.js' 
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at: 
npm ERR!  <http://github.com/npm/npm/issues> 

npm ERR! System Darwin 13.1.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "[email protected]" 

어떤 도움을 주시면 감사하겠습니다.

+0

npm을 2.0.0으로 업데이트하는 [주석 처리] (http://stackoverflow.com/questions/25566008/trouble-when-installing-meanio-on-mac-os-x-using-npm#comment41000097_26125545) 문제를 해결했으면 문제를 해결 된 것으로 표시 하시겠습니까? 또한 답변을 검토하고 도움이된다면 답변을 선택한 것으로 표시하십시오. – revelt

답변

0

필수 구성 요소가 올바르게 설치되었는지 확인하고 홈 디렉토리 아래의 설치 명령을 실행하십시오. 여기

확인 : https://groups.google.com/forum/#!topic/gnu.bash.bug/JkcxWDfilZI

읽고 는 루트로 검색 할 수있는 디렉토리에있어, 당신은 다른 사용자에게 su'ing하고 있습니다. 그 사용자 은 현재 디렉터리를 검색 할 수있는 권한이 없습니다. `.. '을 찾았으므로 getcwd가 실패합니다.

+0

몇 가지 해결책을 시도했습니다 : 1. 홈 디렉토리로 이동 (동일한 오류가 계속 발생) 2. 노드 관련 폴더의 사용 권한 변경 (sudo chmod 777) 3. sudo chown -R $ USER/usr/local/ 동일한 오류가 계속 발생합니다 – TheCoolestPenguin

0

필자와 비슷한 문제가있어서 나의 루트 사용자 디렉토리 /User/tomk/.npm의 기본 npm 디렉토리에 문제가있는 것으로 나타났습니다. npm의 하위 디렉토리는 root가 소유하고있었습니다 (아마도/npm을 설치하려면 sudo를해야합니다). 소유권을 내 계정으로 변경하고 나면 meanio가 치명적인 오류없이 설치되었습니다 (많은 경고가 있지만 설치를 중단 할 수는 없습니다).

+0

npm을 2.0.0으로 업데이트했습니다. 이것은 문제를 해결했습니다. – TheCoolestPenguin

관련 문제