[node.js] npm 설치 오류 (오류 : ENOENT, chmod)

방금 게시 한 npm 모듈을 전역 적으로 설치하려고합니다. npm 또는 폴더에서 설치하려고 할 때마다이 오류가 발생합니다.

npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/takeapeek/lib/cmd.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.8.0-19-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "takeapeek"
npm ERR! cwd /home/giodamlio
npm ERR! node -v v0.10.6
npm ERR! npm -v 1.3.6
npm ERR! path /usr/local/lib/node_modules/takeapeek/lib/cmd.js
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/giodamlio/npm-debug.log
npm ERR! not ok code 0

나는 sudo를 사용하고 있으며 모든 것이 작동 해야하는 패키지의 모든 것을 세 번 확인했습니다. 나는 주위를 둘러 보았고, 해결되지 않은 몇 가지 유사한 사례를 보았습니다. 여기 내가 시도한 것입니다.

  • npm ( sudo npm install -g npm) 업그레이드
  • 전역 npm 캐시 지우기 ( sudo npm cache clear)
  • 사용자 npm 캐시 지우기 ( npm cache clear)

특히 npm이 chmod를 수행하려고 할 때 오류가 경로에 연결하는 파일과 관련이 있음을 알았습니다. 그것은 문제가되지 않을 것이고, 나의 lib/cli.js정상적인 권한을 가지고 있으며, npm은이 설치 동안 수퍼 유저 권한을 가지고 있습니다.

npm 문서를 살펴본 후 npm이 bin 링크 ( --no-bin-links) 를 만들지 못하게하는 옵션을 찾았 습니다. 설치를 시도했을 때 제대로 작동했습니다.

그래서 거래는 무엇입니까? 이것은 몇 가지인가 이상한 프린지 경우 버그 해결책을 아직하지?

편집 : 참고로 여기 에 업로드 한 모듈이 있습니다.



답변

.gitignore, NPM이 .npmignore파일 의 기반으로 사용 하고 있으므로 /lib. .npmignore애플리케이션의 루트에 빈 파일을 추가하면 모든 것이 작동합니다.

[편집]-이 동작에 대한 자세한 정보 : https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package


답변

비슷한 문제가 발생했습니다.

npm cache clean

해결했습니다.


답변

이 문제는 내가 실행하려고 할 때 Mac에서 어떻게 든 나에게 발생했습니다. npm install -g bower . graceful-fs와 같은 것을 찾을 수 없다는 이유로 많은 오류가 발생했습니다. 원래 npm을 어떻게 설치했는지 잘 모르겠지만 homebrew를 사용하는 노드가있는 것 같습니다. 나는 처음 달렸다

brew uninstall node

이것은 nodenpm 내 길에서. 거기에서 방금 다시 설치했습니다.

brew install node

그것이 완료되었을 때 나는 가지고 node있었고npm 내 길에 내가 실행 할 수 있었다

rm -rf ~/.npm
npm install -g bower

그러면 정자가 성공적으로 설치되었습니다.

양조 공식을 업데이트하고 설치를 업그레이드하는 것이 저에게 효과가없는 것 같았습니다. 이유를 모르겠습니다. .npm폴더 제거는 다른 사람들에게도 효과가 있었으며 성공하지 못했습니다. 이번에는 혹시라도 했어요. 다음 중 어느 것도 문제를 해결하지 못했지만 다른 사람에게는 해결되지 않았습니다.

npm cache clean
sudo npm cache clean


답변

npm 설치 시이 오류가 발생했으며 .npmignore를 추가해도 해결되지 않았습니다.

오류 : ENOENT, 상태 ‘C : \ Users \ My-UserName \ AppData \ Roaming \ npm’

언급 된 폴더로 이동하려고했지만 존재하지 않았습니다. 로밍 에서 npm 폴더를 만들 때 오류가 수정 되었습니다. 폴더에 .

이것은 Windows 8.1에 있습니다.


답변

나는 같은 문제가 있었고 여기에 언급되지 않은 처리를 발견했습니다. 커뮤니티에 기여하고 싶지만 :

npm install -g myappbin디렉토리를 복사하지 않았습니다 . 나는 그것을 files내 안에 포함하지 않았기 때문에 이것을 발견 했습니다.package.json

"files": [
  "lib",
  "bin" // this was missing
]


답변

npm install로컬 설치에서 비슷한 오류가 발생했습니다 .

npm ERR! enoent ENOENT: no such file or directory, stat '[path/to/local/installation]/node_modules/grunt-contrib-jst'

오류의 원인은 확실하지 않지만 최근에 몇 개의 새 노드 모듈을 로컬에 설치하고 homebrew로 노드를 업그레이드 한 다음 ‘npm update -g’를 실행했습니다.

문제를 해결할 수있는 유일한 방법은 로컬 node_modules 디렉토리를 완전히 삭제하고 npm install다시 실행하는 것입니다.

cd [path/to/local/installation]
npm rm -rdf node_modules
npm install


답변

나는 비슷한 문제가 특별히 있습니다 : ERR! enoent ENOENT : 그런 파일이나 디렉토리가 없습니다. chmod ‘node_modules / npm / node_modules / request / node_modules / http-signature / node_modules / sshpk / bin / sshpk-conv 위의 모든 솔루션을 시도했지만 운이 없었습니다. 나는 방랑 함을 사용하고 있었고 프로젝트는 공유 폴더에있었습니다. 프로젝트를 공유되지 않은 다른 폴더 (두 번째 호스트)로 옮길 때 문제는 거기에만있는 것 같습니다. 문제 해결됨. 다른 사람이 방랑자를 사용하는 경우를 대비하여