it-swarm.com.de

Die 'npmlog'-Fehlermeldung des Moduls kann nicht gefunden werden, wenn der Befehl npm verwendet wird

Heute ist mein erster Tag meines ersten Jobs. Nachdem ich meine Entwicklungsumgebung mit einem Update von node und npm auf meinem Mac (OSX) eingerichtet habe, habe ich anscheinend etwas kaputt gemacht. Jedes Mal, wenn ich versuche, npm in meiner Befehlszeile (npm init, npm install usw.) zu verwenden, erhalte ich folgende Fehlermeldung: 

module.js: 339

fehler werfen;

Fehler: Modul 'npmlog' kann nicht gefunden werden

bei Function.Module._resolveFilename (module.js: 337: 15)

bei Function.Module._load (module.js: 287: 25)

bei Module.require (module.js: 366: 17)

bei erfordern (module.js: 385: 17)

um /usr/local/lib/node_modules/npm/bin/npm-cli.js:20:13

bei Objekt. (/usr/local/lib/node_modules/npm/bin/npm->cli.js:76:3)

at Module._compile (module.js: 425: 26)

bei Object.Module._extensions..js (module.js: 432: 10)

bei Module.load (module.js: 356: 32)

bei Function.Module._load (module.js: 311: 12)

Es gibt keine große Fehlermeldung, und die Stack-Trace hilft mir auch nicht weiter. Folgendes habe ich ausprobiert:

  1. Durch Stackoverflow gesucht und obwohl es ähnliche Probleme gibt, konnten die Leute npm <something> verwenden, um ihr Problem zu lösen, was ich nicht tun kann.
  2. Deinstallieren und erneutes Installieren von npm - Hat nicht funktioniert, weil ich den npm-Befehl überhaupt nicht verwenden kann, so dass Sudo npm uninstall npm -g nicht funktioniert.
  3. Das npmlog-Verzeichnis wurde aus dem .npm-Verzeichnis entfernt und anschließend das Github-Repo direkt in das Verzeichnis geklont.

Hoffentlich ist einer von Ihnen schon einmal darauf gestoßen oder hat eine Idee, wie er sich nähern soll. Jede Hilfe wird geschätzt.

30
Parker Lewis

Hier sind die Schritte, die für mich gearbeitet haben:

$ Sudo rm -rf /usr/local/bin/npm
$ Sudo rm -rf /usr/local/lib/node_modules/npm
$ brew uninstall node
$ brew install node
17
drosenblatt

Hier ist ein guter Link Fixing npm On Mac OS X for Homebrew Users .

mit folgenden Befehlen, wenn Sie versuchen, node.js unter Mac zu aktualisieren

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | Sudo sh
17
zangw

Versuchen Sie curl -0 -L http://npmjs.org/install.sh | Sudo sh, um Weiterleitungen zu folgen. Beachten Sie auch, dass ich Sudo vor dem Befehl Sudo sh hinzugefügt habe, abhängig von den Berechtigungen Ihrer Benutzer.

9
nickleefly

Ich bin gerade auf einem Mac auf dieses Problem gestoßen, und bei näherer Betrachtung scheint es mir so, als ob das Problem darin besteht, dass im Node-Anwendungsverzeichnis unter bestimmten Umständen der Link im Verzeichnis node/bin zu npm in lib/node_modules/npm/bin durch die Datei selbst und das ersetzt wird Deshalb schlägt es fehl (und warum es von den verschiedenen Skriptmethoden behoben wird, da sie die Dateiverknüpfung korrekt beibehalten).

Wenn ich den Inhalt von node-v6.9.4-darwin-x64 mit cp kopiere, bekomme ich dieses Problem, aber wenn ich die Dateien mit dem Finder kopiere, dann nicht. Sie können das Problem beheben, indem Sie den Link manuell mit ln erneut erstellen, wenn Sie den Finder nicht verwenden möchten (alternativ können mv oder rsync -a auch funktionieren; ich habe sie nicht getestet).

Ich hoffe, das hilft jemandem, der wegen dieses Problems hierher kommt.

Edit: Ich habe gerade aus Versehen den Grund für das Problem auf Macs gefunden (jedenfalls für mein spezielles Szenario): Ich habe immer cp -r verwendet, um Verzeichnisse zu kopieren. Das liegt daran, dass ich alt bin und keine neuen Dinge mehr lerne. Der richtige Weg ist cp -R, der alles korrekt kopiert, wie es sollte.

5
Kevin Teljeur

Ich habe das Problem nicht unbedingt "behoben", sondern erst von vorne angefangen. Ich habe diesen Post dazu benutzt: Wie deinstalliere ich Node.js vollständig und installiere es von Anfang an neu (Mac OS X)

Wenn jemand anderes weiß, wie er das Problem tatsächlich beheben soll, oder weiß, was ich getan habe, wäre ich trotzdem sehr interessiert.

3
Parker Lewis

in meinem Zustand habe ich nur brew uninstall node und download von der offiziellen Website und arbeitete für mich

3
Zander Zhang

Ich habe dies auf Fedora 27 getroffen, nachdem ich Sudo npm install npm -g lief.

Das Problem war, dass ich Node.js zunächst über Sudo dnf install nodejs installiert hatte, wodurch npm in /usr/local/bin und /usr/local/lib installiert wird. Wenn Sie Sudo npm install ausführen, wird jedoch eine separate Version in /usr/bin/ installiert.

Wenn Sie which npm ausführen, wird angezeigt, dass das zusätzliche npm installiert ist. Dann hat alles für mich geputzt:

$ Sudo rm /usr/bin/npm
$ Sudo rm -rf /usr/lib/node_modules/npm
$ dnf remove -y nodejs
$ dnf install -y nodejs
3
icc97

Für mich lief brew uninstall node und lade dann die neueste Version von nodejs.org herunter und es funktionierte.

0
0xa6a

Ich bin auf diesen Fehler gestoßen. Dies war auf einem Server, der nicht mit dem Internet verbunden ist. Ich hatte einen Thread auf Github gesehen, der erwähnte, dass manchmal symbolische Links entfernt werden können, während Kopien oder andere Dateioperationen ausgeführt werden. Ich habe also im Knotenverzeichnis ein "Finden" für symbolische Links des problematischen Servers gefunden und keine gefunden. Wenn Sie dies auf einem funktionierenden Server tun, finden Sie symbolische Link-Dateien.

Ich ging zu NODE_HOME/bin und machte eine ls -l

Sicher genug, ich hatte eine Datei für npm. Die gleichen Schritte auf einem funktionierenden Server durchgeführt und die npm-Datei war ein symbolischer Link. Um den problematischen Server zu beheben, habe ich Folgendes ausgeführt:

rm npm

ln -s ../lib/node_modules/npm/bin/npm-cli.js npm

0
Ken

Der gleiche Fehler bei der Installation des Winkelmessers in REDHAT Linux wurde aktualisiert 

npm

datei um 

/node-v6.10.2-linux-x64/bin/npm

für den modulpfad wie folgt:

Code vor 

var log = require('npmlog')

Code nach

var log = require('/node-v6.10.2-linux-x64/lib/node_modules/npm/node_modules/npmlog')
0
Yusuf Kapasi