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