npm-cli.js wurde beim Ausführen von npm nicht gefunden


89

Normalerweise kann ich eine Bibliothek mit npm installieren, aber heute bei der Installation von yeoman sind diese Fehler aufgetreten. Bitte helfen Sie herauszufinden, was die Grundursache ist.

D:\Works\phonegap\ionic\todo>npm install -g yo
    module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

Ich habe in den Ordner geschaut:

C: \ Programme \ nodejs \ node_modules \ npm \ bin \

Der Ordner node_modules wird jedoch nicht als der beschriebene Fehler angezeigt .

Ich versuche auch, npm-cli.js zu finden und zu sehen, dass es tatsächlich in istC:\Program Files\nodejs\node_modules\npm\bin\


Wann haben Sie den Knoten installiert?
Mritunjay

1
Entschuldigung, ich habe vergessen, node neu installiert zu haben, um diesen Fehler zu beheben, sodass jetzt kein Ordner node_modules vorhanden ist. Aber vorher habe ich auch C: \ Programme \ nodejs \ node_modules \ npm \ bin \ node_mod ules \ überprüft, aber keinen npm-Ordner darin gesehen.
user1192476

Ich habe eine Antwort darauf. Wird nach 8 Stunden posten. Vielen Dank.
user1192476

Antworten:


102

Es stellt sich heraus, dass das Problem auf den falschen Pfad des Knotens in der Systemvariablen zurückzuführen ist. Der Pfad zeigt derzeit auf

(Ich weiß wirklich nicht, wann ich es geändert habe)

C:\Program Files\nodejs\node_modules\npm\bin

also wechsle ich zu

C:\Program Files\nodejs

und es funktioniert wie ein Zauber.


16
Hatte das gleiche Problem. Der Pfad wurde nie geändert, daher muss dies vermutlich beim Upgrade von Node geschehen sein.
Nils Magne Lunde

Ich denke, für mich tritt das Problem auf, wenn ich Electron installiert habe :(
Charles Walker

4
wo hast du das geändert welche Datei?
CodeToad

1
Umgebungsvariablen.
Crozeta

In der neuesten Version werden nach dem Upgrade möglicherweise beide Pfade in Ihren Umgebungsvariablen angezeigt, und der alte (C: \ Users \ YOUR_USER \ AppData \ Roaming \ npm) hat Vorrang vor dem neuen (C: \ Programme \ nodejs) ). Das Entfernen des ersteren löst das Problem für mich.
Shahroq

41

Sie müssen dies in der Befehlszeile ausführen.

SET PATH=C:\Program Files\Nodejs;%PATH%

Bash Shell in Windows
Prathap Kudupu

Ich hatte dieses Problem, als ich meine Version des Knotens aktualisiert habe. Ihre Lösung hat bei mir perfekt funktioniert. Ich musste keinen node_modulesOrdner löschen
AllJs


Ich musste diesen Pfad weiter nach oben verschieben, um ihm eine höhere Priorität einzuräumen, nachdem ich versucht hatte, npm mit npm (npm -i npm) zu aktualisieren.
Corey Alix

26

Möglicherweise haben Sie dieses Problem auch, wenn Sie C:\Program Files\nodejsund auf Ihrem Weg haben C:\Program Files\nodejs\node_modules\npm\bin. Entfernen Sie letzteres vom Pfad


4
auf dem Weg wo?
CodeToad

17

Kopieren Sie das benannte Verzeichnis npmvon Ihrem installierten Knotenpfad (in meinem Fall war das npm-Verzeichnis in verfügbar C:\Program Files\nodejs\node_modules).

Navigieren Sie zum C:\Users\%USERNAME%\AppData\Roaming\npm\node_moduleskopierten npmVerzeichnis und fügen Sie es dort ein.

Diese Methode hat bei mir funktioniert, als ich den gleichen Fehler hatte. . .


3
Vielen Dank, dies hat großartig funktioniert, nachdem ein Upgrade meine NPM-Installation durcheinander gebracht und repariert und neu installiert hat.
Slbox

16

Ich habe gerade meine NodeJS-Installation repariert und es hat bei mir funktioniert!

Gehen Sie zu Control Panel\All Control Panel Items\Programs and Features-> NodeJSund wählen Sie die Option Reparatur, um sie zu reparieren. Hoffe das hilft.


1
Dies funktionierte für mich, aber es heißt "Apps und Funktionen" unter Windows 10.
PeonProgrammer

In meinem Fall gab es in node_modules keinen npm-Ordner, und ich habe nur einen Befehl ausgeführt npm install expressund ihn repariert.
Lalit Fauzdar

Ich danke dir sehr. hat wie ein Zauber funktioniert :) :)
Ameena

14

Dies ist nicht der gleiche Fall wie in der Frage, kann jedoch für jemanden hilfreich sein, der mit einem ähnlichen Problem konfrontiert ist. Wenn Sie unter Windows npmBefehle von einem CI- / Automatisierungstool aufrufen , kann der folgende Fehler auftreten:

Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'

wo SOME_PATHist nicht Program Files/...aber ein Projektverzeichnis stattdessen. Daher versucht npm, npm-cli.js im Projektstammverzeichnis zu finden, anstatt es zu durchsuchen Program Files/nodejs.

Der Grund ist das Skript npm.cmd:

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)


SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

Dieses Skript verwendet %~dp0zum Nachschlagen der Datei npm-cli.js, aber einige Automatisierungstools können das Arbeitsverzeichnis so festlegen, dass es %~dp0auf das lokale Projektverzeichnis verweist, sodass das Skript nicht ordnungsgemäß funktioniert.

Eine mögliche Lösung könnte darin bestehen, die npm-Aufrufe daraus zu ändern

npm.cmd install

dazu

cmd.exe /c npm.cmd install

Wenn Sie das WorkingDirectory festlegen müssen, um den Installationsbefehl in einem bestimmten Verzeichnis
auszuführen

Was für mich funktioniert hat, ist, anschließend ein Änderungsverzeichnis mit dem Befehl npm auszuführen: "cmd.exe" / c cd / d "T: \ TfsAgent_work \ 1 \ s \ src \ WebHost \" && "C: \ Programme \ nodejs \ npm.cmd "installieren
Daniel Fisher Lennybacon

7

Keine der anderen Antworten hat bei mir funktioniert.

Folgendes schreibe ich (in einer Git-Bash-Shell unter Windows):

PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman

5

Auf einem Mac:

Ich habe dies über das Maven com.github.eirslett Frontend Plugin ausgeführt, als ich den gleichen Fehler hatte.

Schließlich musste ich:

Installieren Sie Node.js über das Installationsprogramm hier: http://nodejs.org/

Löschen Sie alle node/und node_modules/Ordner aus meiner Maven-Build-Struktur.


2
Es sieht so aus, als ob dies mit neueren Versionen des Frontend-Plugins
behoben wurde

5

Bei der Installation mit nvm ist das gleiche Problem mit Knoten 8.5 aufgetreten. Die folgende Lösung hat bei mir funktioniert

$ nvm uninstall 8.5
8.5.0
Uninstalling node v8.5.0...Error removing node v8.5.0
Manually remove C:\Users\Omkar\AppData\Roaming\nvm\v8.5.0.

$ nvm install 8.5
8.5.0
Downloading node.js version 8.5.0 (64-bit)...
Complete
Creating C:\Users\Omkar\AppData\Roaming\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.5.0

Omkar@VAST-0137 MINGW64 /d/code

Dies funktionierte für mich, da Knoten 8.5 zuvor mit nvm nicht korrekt installiert wurde. Ich habe es herausgefunden, weil Ordner und Dateien "npm \ bin \ npm-cli.js" zuvor nicht in node_modules erstellt wurden.


Mein Weg sah in Ordnung aus; Deinstallieren / Neuinstallieren hat das Problem für mich behoben.
Mark Maslar

Ich hatte einige seltsame Probleme mit dem alten Knoten, selbst als ich zu einer neueren Version wechselte. Also habe ich den alten Knoten deinstalliert und den neuen erneut installiert. Auf diese Weise habe ich das Problem mit cli behoben :) danke
Andrej Gaspar

5

Ändern Sie keine Umgebungsvariablen

Es war das Installationsprogramm, das das Problem verursachte und nicht alle erforderlichen Dateien installierte.

Ich habe gerade das NODEJS-Setup unter Windows 7 repariert und es funktioniert sehr gut. Möglicherweise können Sie neu installieren, nur für den Fall, dass etwas nicht funktioniert.


4

Zusätzlich zu oben musste ich auch entfernen C:\Users\%USERNAME%\AppData\Roaming\npm. Das hat geholfen.


1
Auf meinem System befinden sich dort globale Pakete. Wenn Sie es aus dem Pfad entfernen, können Sie möglicherweise nicht mehr
Schlucken

4

Es gibt tatsächlich zwei Pfade, die der Variablen Ihres Systems beim Upgrade auf die neueste Version von nodejs hinzugefügt wurden.
1. C: \ Programme \ nodejs
2. C: \ Programme \ nodejs \ knotenmodule \ npm \ bin
Für Benutzer von Windows 7/8 / 8.1 gibt es keine Windows 10-Smart-GUI für Umgebungsvariablen.
Alles was Sie tun müssen, ist es zu suchen "C:\Program Files\nodejs\node_modules\npm\bin"und zu entfernen.
Entfernen "C:\Users\%USERNAME%\AppData\Roaming\npm"Sie außerdem Variablen aus Ihren Umgebungsvariablen. Ich poste diese Antwort, weil ich meine 10 Stunden damit verbracht habe, im Internet nach der Lösung zu suchen. Durch die Kombination der obigen Antwort schaffe ich es endlich durch das Problem.



2

Keine der hier aufgeführten Lösungen hat bei mir funktioniert, aber nachdem ich mein System neu gestartet und npm installerneut ausgeführt habe, hat es funktioniert. Ich würde einen oder mehrere Prozesse erraten, die ich zuvor ausgeführt habe.

Ein einfacher PC-Neustart unter Windows 10 hat die Magie für mich getan!


Hat auch für mich gearbeitet! Der Fehler wurde wahrscheinlich nach einem Win10-Update gestartet
Arno van Oordt

2

Ich hatte das gleiche Problem unter Windows. Ich habe gerade Node repariert und es hat nach einem Neustart des Befehls unter Windows einwandfrei funktioniert.


1

Führen Sie einfach diesen Befehl aus:

npm i npm@latest -g

Willkommen bei Stack Overflow! Könnten Sie näher erläutern, was dies bewirkt und wie es die Frage beantwortet?
Anothernode

1

npm install -g npm @ [version] hat das Problem behoben


1

Unter Windows 10:

  1. Drücken Sie die Windows-Taste, geben Sie edit die Systemumgebungsvariablen ein und geben Sie ein.
  2. Klicken Sie auf Umgebungsvariablen ...
  3. In der unteren Hälfte des Fensters, das dort mit dem Titel Umgebungsvariablen geöffnet wurde, sehen Sie eine Tabelle mit dem Titel Systemvariablen mit zwei Spalten, die erste mit dem Titel Variable.
  4. Suchen Sie die Zeile mit der Variablen Path und klicken Sie darauf.
  5. Klicken Sie auf Bearbeiten, um ein Fenster mit dem Titel Umgebungsvariable bearbeiten zu öffnen.
  6. Hier, wenn Sie finden

C: \ Programme \ nodejs \ node_modules \ npm \ bin

Wählen Sie es aus und klicken Sie rechts auf die Schaltfläche Bearbeiten. Bearbeiten Sie dann das Feld in dem Pfad, in dem Sie den Ordner nodejs haben. In meinem Fall wurde es nur auf Folgendes gekürzt:

C: \ Programme \ nodejs

Dann schloss ich alle meine cmd- oder Powershell-Terminals, öffnete sie wieder und npm funktionierte.


1

Ich weiß, dass es ein älterer Beitrag ist, aber während ich dies schreibe, ist die Version von Node js 12.13.1. Menschen sind im Allgemeinen damit konfrontiert, weil sie möglicherweise bereits eine frühere Version von Node js installiert haben, die dem Systempfad Folgendes hinzugefügt hat.

C: \ Programme \ nodejs \ node_modules \ npm \ bin

Die neueren Versionen müssen jedoch Folgendes hinzufügen: -

C: \ Programme \ nodejs

Ich möchte den Pfad angeben, in dem Sie die Nodejs installiert haben. Der Standardwert ist

C: \ Programme \ nodejs

Wenn Sie jedoch einen anderen Ort angegeben haben, sollten Sie darauf hinweisen.


0

Lösung für mich in VS2017 (unter Extras | Optionen ...)

Unter Extras |  Optionen ...

Ich habe den Pfad geändert in: C: \ Programme \ nodejs


0

Bei der Installation von node9.0.0 unter Windows 7 stieß ich am Ende auf dieses Problem. Die Lösung bestand darin, npm npm.cmd npx npx.cmd aus C: \ Programme \ nodejs \ node_modules \ npm \ bin zu entfernen, bevor eine Problemumgehung durchgeführt wurde Führen Sie C: \ Programme \ nodejs \ npm aus, damit dies eine Möglichkeit ist. Überprüfen Sie, ob Sie das gleiche Problem haben, das ich hatte.


0

Erstellen Sie manuell einen npm-Ordner in node_modules und führen Sie das Installationsprogramm mit Reparaturoptionen erneut aus. Es kopiert die fehlenden Dateien.


0

In meinem Fall habe ich nvm-windows 1.1.6 verwendet und meine nodejs-Version mit aktualisiert nvm install latest, was mir schließlich mitteilte, dass nodejs und npm installiert sind. Als ich dies jedoch versuchte, npm installerhielt ich

Fehler: Das Modul 'C: \ Programme \ nodejs \ node_modules \ npm \ bin \ npm-cli.js' wurde nicht gefunden.

Beim Überprüfen der Struktur von nvm-windows stellte ich fest, dass C:\Program Files\nodejseine Verknüpfung mit %APPDATA%\nvm\NODE_VERSION(in meinem Fall NODE_VERSION war v9.7.1), in der der Ordner node_modulesnichts enthält, diesen Fehler verursachte. Die Lösung bestand darin, den npmOrdner aus einem Ordner meiner früheren Versionen zu kopieren node_modulesund einzufügen. Dann aktualisierte ich meine npm mit npm install npm@next -gund alles begann wieder zu funktionieren.


0

Bei mir hat keiner der oben genannten Punkte funktioniert. Ich habe nur bemerkt, dass jedes Mal, wenn ich eine "npm-Installation ..." durchführe, ein npm-Befehl einfach nicht mehr funktioniert. Bei jeder Installation muss ich das NodeJS-Installationsprogramm ausführen und "Reparieren" auswählen. Bis ich eine echte Lösung finde :)


Es ist gut, Lösungen zu posten, und wir wissen das auch zu schätzen. Aber es wäre besser, wenn du es logisch erklärst, anstatt zu sagen, dass es magisch funktioniert hat :)
Aousaf rashid

0

Das Aktualisieren von NPM auf die neueste Version hat bei mir funktioniert:

npm install npm@latest -g

0

Ändern Sie die Umgebungspfadvariable C: \ Programme \ nodejs \ node_modules \ npm \ bin und öffnen Sie das Befehlsterminal und npm -v und


0

Für Jungs, die noch um diesen Thread herumkommen:

  • Installieren Sie den Knoten von der offiziellen Site (überprüfen Sie npm und die Knotenversion, um zu überprüfen, ob er ordnungsgemäß installiert ist, ja in einem neuen Terminal / cmd).
  • Installieren Sie nvm jetzt und klicken Sie auf Ja, wenn Sie gefragt werden, ob Sie den aktuellen Knoten mit nvm verwalten möchten.
  • öffne neues cmd und starte nvm auf.

Sie müssen Node nicht von der offiziellen Website mit nvm installieren: Sie können die neueste Version von Node mit nvm installieren nvm install latest.
Marco Lackovic

0

Ich habe heute genau das gleiche Problem auf einem Linux-Server festgestellt. Und der Grund ist sehr einfach , da ich nicht tun make installnach makeund versucht, direkt die erzeugte nennen npm. So war der Pfad und alles ein Chaos.

Für mich ist die Lösung also nur, make installnachher zu tun makeund das npmUnter zu laufen .node/bin/npm.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.