Ich versuche, ein soeben veröffentlichtes npm-Modul global zu installieren. Jedes Mal, wenn ich versuche, entweder von npm oder vom Ordner aus zu installieren, wird dieser Fehler angezeigt.
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
Ich benutze sudo und habe alles im Paket dreifach überprüft, alles sollte funktionieren. Ich suchte ein bisschen herum und sah ein paar Similer-Fälle, von denen keiner gelöst wurde. Folgendes habe ich versucht.
- Upgrade npm (
sudo npm install -g npm
) - Leere den globalen npm-Cache (
sudo npm cache clear
) - Leeren Sie den Benutzer-npm-Cache (
npm cache clear
)
Ich habe festgestellt, dass der Fehler mit der Datei zu tun hat, die ich mit dem Pfad verknüpfe, insbesondere als npm versuchte, einen chmod auszuführen. Das sollte kein Problem sein, meine lib/cli.js
hat normale Berechtigungen und npm hat Superuser-Berechtigungen während dieser Installation.
Nachdem ich die npm-Dokumente durchgesehen hatte, fand ich eine Option, die npm daran hinderte, die bin-Links zu erstellen (--no-bin-links
) zu Als ich die Installation damit versuchte, funktionierte sie einwandfrei.
Also, was ist der Deal? Ist dies ein seltsamer Randfall , der noch keine Lösung hat?
Bearbeiten: Als Referenz ist hier das Modul, das ich hochgeladen habe
--no-bin-links
stoppt npm nur daran, Dateien im bin
Hash von package.json mit dem Pfad bei der globalen Installation zu verknüpfen .