Nvm-windows: NPM nicht mit Knoten installiert

Erstellt am 15. Aug. 2016  ·  66Kommentare  ·  Quelle: coreybutler/nvm-windows

Meine Umgebung

  • [ ] Windows 7 oder niedriger (wegen EOL nicht wirklich unterstützt - siehe Wiki für Details)
  • [ ] Windows 8
  • [ ] Windows 8.1
  • [x] Windows 10
  • [ ] Windows 10 IoT-Core
  • [ ] Windows Server 2012
  • [ ] Windows Server 2012 R2
  • [ ] Windows Server 2016
  • [ ] Meine Windows-Installation ist nicht englisch.

    Ich habe schon...

  • [x] Lesen Sie die README-Datei, um sich über npm-Gotchas und Antivirus-Probleme zu informieren.

  • [x] hat das Wiki überprüft, um sicherzustellen, dass mein Problem nicht bereits gelöst wurde.
  • [x] hat bestätigt, dass ich ein Konto mit Administratorrechten verwende.
  • [x] hat die Issues (offen und geschlossen) durchsucht, um sicherzustellen, dass es sich nicht um ein Duplikat handelt.
  • [x] stellte sicher, dass dies keine Frage zur Verwendung von NVM für Windows ist, da gitter für Fragen und Kommentare verwendet wird.

    Mein Problem bezieht sich auf (kreuzen Sie nur die zutreffenden an):

  • [ ] settings.txt

  • [ ] Proxy-Unterstützung
  • [ ] 32- oder 64-Bit-Unterstützung

    Erwartetes Verhalten

Nach der Installation von nvm-windows mit dem Installer und anschließender Installation einer Node-Version mit >nvm install latest oder >npm install 4.4.7 . Ich erwarte, dass ich >npm help in die Befehlszeile eingeben kann, um zu überprüfen, ob npm funktioniert (und es dann natürlich zum Installieren von Paketen verwenden kann).

Tatsächliches Verhalten

Während nvm sagt, dass npm installiert wurde, sind die Ordner mit node_modules leer:
...\AppData\Roaming\nvm\v4.4.7\node_modules (leer)
C:\Program Files\nodejs\node_modules (leer)

Schritte zum Reproduzieren des Problems:

Zuerst habe ich nvm 1.1.1 von hier aus installiert: https://github.com/coreybutler/nvm-windows/releases

Ich habe die Knotenversion 4.4.7 mit nvm install 4.4.7 installiert. Alle nvm-Befehle funktionieren korrekt, einschließlich nvm use und ich kann ein Hello-World-Skript in Node ausführen.

Während der Installation erhalte ich folgende Kommandozeilenausgabe:

>nvm install 4.4.7
Downloading node.js version 4.4.7 (64-bit)... Complete
Creating C:\Users\myusernamewithoutspaces\AppData\Roaming\nvm\temp

Downloading npm version 2.15.8... Complete
Installing npm v2.15.8...

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

nvm use 4.4.7

Wenn ich dann npm help in die Befehlszeile eintippe, erhalte ich diese Fehlermeldung:

module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3
 module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3

Danke für jede Hilfe!

Hilfreichster Kommentar

Hatte das gleiche Problem. Was für mich behoben wurde: Entfernen von "C:\Users\{your_username}\AppData\Roaming\npm" aus meiner PATH-Variablen. Ich denke, es waren Reste von einer früheren Knoteninstallation.

Alle 66 Kommentare

AKTUALISIEREN
Bei der Überprüfung des ursprünglichen Beitrags ist mir dieser Block aufgefallen:

>nvm install 4.4.7
Downloading node.js version 4.4.7 (64-bit)... Complete
Creating C:\Users\myusernamewithoutspaces\AppData\Roaming\nvm\temp

Downloading npm version 2.15.8... Complete
Installing npm v2.15.8...

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

nvm use 4.4.7

Beachten Sie, dass nvm use 4.4.7 Teil der _Anweisungen_ ist, die NVM4W ausgibt, nachdem eine neue Knoteninstallation abgeschlossen ist. Wenn Sie nvm use x.x.x _nicht ausführen, dann wird der Knoten nicht erkannt, und daher wird npm nicht erkannt. Stellen Sie sicher, dass Sie nvm use x.x.x ausführen (wobei xxx die Version ist, die Sie ausführen möchten), bevor Sie versuchen, npm-Befehle auszuführen!

Ursprüngliche Antwort
Stehen Sie hinter einem Proxy? Dieses Problem ist bei einigen Benutzern schon einmal aufgetreten ... meistens bei denen, die Proxys verwenden.

Ich würde überprüfen, ob C:\Program Files\nodejs\node_modules\npm\bin vorhanden ist, wenn eine bestimmte Version verwendet wird.

Es kann sich lohnen, die gewünschte Version zu deinstallieren/neu zu installieren. Am Ende des Tages übergibt NVM4W einfach die Kontrolle an node/npm, sobald die Dateien heruntergeladen/extrahiert sind. Die Herausforderung besteht darin, dass der Download manchmal ein falsch positives Ergebnis anzeigen kann (dh den npm-Download nicht abgeschlossen hat, aber sagt, dass dies der Fall ist). Ich vermute, dass dies bei Ihnen passieren könnte.

Danke @coreybutler. Ich bin nicht hinter einem Proxy, aber es gibt eine grundlegende Firewall. Ich habe eine Neuinstallation von NVM4W und nvm install 4.4.7 mit ausgeschalteter Firewall versucht. Das Ergebnis ist das gleiche - sowohl der \AppData node_modules ist vollständig leer als auch der Ordner \nodejsnode_modules ist leer.

Irgendwelche anderen Ideen? Ich werde auch die Installationsdokumente des Knotens auf Probleme bei der Installation von npm überprüfen, wenn die Kontrolle übergeben wird

Ich glaube nicht , Sie NVM4W mit der Firewall ausgeschaltet installieren müssen (da es reagiert) ... aber Sie mögen vielleicht Test läuft nvm install x.x.x mit der Firewall ab. Ich vermute immer noch, dass der npm-Download möglicherweise nicht zu 100% abgeschlossen wird.

Ja, ich habe die Installation mit deaktivierter Firewall durchgeführt und es hat nicht geholfen. Ich bin mir nicht sicher, wie ich testen kann, was beim Download sonst noch schief gehen könnte. Wenn Sie andere Ideen haben, lassen Sie es mich wissen!

Ich habe das gleiche Problem mit nvm 1.1.1 und Windows 10. Gibt es Informationen, die Sie zum Debuggen benötigen? Dieser hier ist wirklich seltsam für mich. Es wird eine Weile funktionieren, dann hört es irgendwann auf zu funktionieren und kann npm nicht mehr finden.

@NealHumphrey Wenn Sie die von Ihnen verwendete Version deinstallieren, löschen Sie dann den Installationsordner für diese Version in Ihrem nvm-Stammverzeichnis und installieren Sie es dann neu.

@LeeGDavis - Ich konnte es noch nie zum

Zum Debuggen - was ist der Inhalt dieser beiden Ordner, wenn Sie es zum Laufen bringen können?
...\AppData\Roaming\nvm\v4.4.7\node_modules
C:\Program Files\nodejs\node_modules

Und wenn es das nächste Mal nicht mehr funktioniert, können Sie den Inhalt noch einmal überprüfen?

@LeeGDavis - Wenn es nach einer gewissen Zeit einfach nicht mehr funktioniert, ist definitiv etwas in Ihrer Umgebung los. NVM4W berührt nichts, es sei denn, Sie führen einen nvm Befehl aus. Irgendwo wird etwas modifiziert. Es wäre hilfreich, mehr über die Umwelt zu erfahren. Sind Sie beispielsweise in einer Active Directory-Domäne? Haben Sie geplante Aufgaben? Haben Sie Antivirenprogramm installiert und wenn ja, welches?

@NealHumphrey - Nur zur Verdeutlichung führen Sie nvm install , um den Knoten mit ausgeschalteter Firewall zu installieren, anstatt die gesamte nvm-Installation (GUI) mit ausgeschalteter Firewall auszuführen? Wenn Sie die Downloads überprüfen möchten, können Sie die Prüfsumme der Versionen vergleichen (verfügbar auf nodejs.org).

Habe das gleiche Problem. Habe meine McAfee-Firewall ausgeschaltet und die Installation scheint diesmal funktioniert zu haben: Der Ordner \node_modules\nvm ist da.

Ich habe die Installation getestet, indem ich zu meiner neu installierten Version von Node (6.2.2) gewechselt und den Befehl npm --version ausgeführt habe, und es wurde 3.9.5 zurückgegeben

UPDATE: musste aus Gründen deinstallieren. Bei der Neuinstallation (Firewall immer noch aus) trat das Problem wieder auf: Der Ordner \node_modules\nvm\ fehlt. Ich habe versucht, Node mit dem GIT BASH-Terminal und der Eingabeaufforderung im Administratormodus zu installieren, aber immer das gleiche Ergebnis.

UPDATE 2: Firewall und Virenscanner deaktiviert und es funktionierte wieder über die Eingabeaufforderung im Administratormodus.

@NealHumphrey und @coreybutler Das Problem trat in weniger als einer Woche wieder auf, also wechselte ich zu Vanilla Node, werde aber dieses Wochenende zurück zu nvm wechseln, um beim Debuggen zu helfen.

Ich befinde mich in keinem domänengesteuerten/Active-Directory-Setup und habe keine geplanten Aufgaben. In Bezug auf die Installation meldet nvm nie einen Fehler, aber das Entfernen des Installationsordners im nvm-Root ist erforderlich, damit es wieder funktioniert, sobald die ausführbare Datei aus dem Pfad entfernt wird oder was auch immer passiert ...

Hatte genau das gleiche Problem. MVN deinstalliert, Mcafee-Echtzeitschutz und Firewall deaktiviert, neu installiert und der Fehler verschwand.

Definitiv ein Antivirus-Problem. Jedoch; es hört sich so an, als ob es etwas sein könnte, das in den Einstellungen geändert werden könnte. Ich habe heute Morgen überprüft, dass NVM4W von Mcafee auf die Whitelist gesetzt wird.

Die Windows-Box, die ich verwende, ist die Installation von Vanilla Windows 10 Pro. Außer dem standardmäßigen Windows-Verteidiger und der Firewall, nehme ich an, ist kein anderes Antivirenprogramm oder eine Firewall von Drittanbietern installiert. Was für mich seltsam ist, dass eine bestimmte Version (von Knoten, die über nvm4w installiert wurden) eine Zeit lang funktioniert, bevor sie einfach nicht mehr funktioniert und die einzige Möglichkeit zur Wiederherstellung zu sein scheint, wie ich oben beschrieben habe.

@LeeGDavis Windows Defender kann auch Dateien entfernen. Jedoch; Auch dort steht NVM4W auf der Whitelist. Ich empfehle Ihnen, Ihre %PATH% überprüfen, wenn dies das nächste Mal passiert. Ich beginne zu vermuten, dass in Ihrem Fall der AV möglicherweise den Pfad ändert. Mit anderen Worten, vielleicht ist alles richtig, aber Windows kann es nicht finden. Wenn dies weiterhin auftritt, öffnen Sie ein neues Problem, damit wir es verfolgen können.

Was die Installation von npm betrifft, denke ich immer noch, dass es nur die Firewall / das Antivirenprogramm ist, die den Download von npm von der Knotenverteilungsseite blockiert. Wenn die Lösung von @frankorama funktioniert, ist dies der Fall und es gibt nicht viel, was in NVM4W getan werden kann, um dies zu verhindern. Ich kann irgendwann versuchen, der Firewall im Installationsprogramm Ausnahmen hinzuzufügen, aber das bedeutet nicht, dass sie nicht von Software von Drittanbietern überschrieben werden.

@coreybutler @LeeGDavis Windows Defender war der Schuldige für mich

Ich hatte dieses Problem. (Windows 7x64, nvm v1.1.1)
Nach einigem Suchen habe ich festgestellt, dass das Problem anscheinend in os.Rename(tempDir+"\\nvm-npm\\npm-"+npmv,env.root+"\\v"+version+"\\node_modules\\npm") , da alle vorherigen Schritte korrekt ausgeführt wurden.
Ich kann vorschlagen, dass bei der Ausführung dieses Befehls dir aufgrund vorheriger Umbenennungsbefehle immer noch beschäftigt ist.
Vielleicht ordnen Sie Befehle um in etwas wie

os.Rename(tempDir+"\\nvm-npm\\npm-"+npmv,env.root+"\\v"+version+"\\node_modules\\npm")
os.Rename(env.root+"\\v"+version+"\\node_modules\\npm\\bin\\npm",env.root+"\\v"+version+"\\npm")
os.Rename(env.root+"\\v"+version+"\\node_modules\\npm\\bin\\npm.cmd",env.root+"\\v"+version+"\\npm.cmd")

oder fangen Sie einen Fehler ab und versuchen Sie es erneut (nach 1 Sek. Schlaf)

UPD
Ich habe das letzte Ergebnis der Umbenennung von Ang Go eingegeben
"umbenennen .... Zugriff wird verweigert."

@se-m Danke für den Einblick. Die Reihenfolge ist wichtig, aber es scheint ein Synchronizitätsproblem zu geben ... zumindest in Ihrer Umgebung. Mit welcher Go-Version führen Sie Ihre Tests durch?

Wenn das Verschieben von Dateien tatsächlich das Problem ist, verwende ich keine Schläfer, da dies das Problem nicht wirklich löst. os.Rename _sollte_ die Dateien einfach verschieben, aber das scheint nicht zuverlässig zu sein.

@coreybutler Ich habe go1.7 für meinen Test verwendet (drucken Sie einfach den Fehler)
Ich sehe keinen Unterschied zwischen dem "erst die Dateien aus dem Ordner und dann den Ordner verschieben" und dem "erst den Ordner verschieben und dann die Dateien aus ihm heraus verschieben" (Pfade wurden im Beispiel korrigiert).

Wenn Sie die Schläfer nicht verwenden oder neu anordnen, kann ich nur vorschlagen, anstelle von "Verschieben" einen "Kopieren"-Befehl zu verwenden.

An alle.
Überprüfen Sie, ob Sie ein "Synchronitätsproblem" haben (nach nvm install xxx):

  1. Im neu installierten Knotenordner (vx.xx) befinden sich 2 Dateien "npm.cmd" und "npm"
  2. Es gibt keinen Ordner "npm" in node_modules (vx.xx/node_modules)

@se-m Ja, der Plan wäre, eine Kopie zu verwenden. Auf diese Weise kann eine Prüfsumme mit dem Download abgeglichen werden, und dann wieder, wenn die Kopie abgeschlossen ist. Die Protokollierung kann auf beide Schritte angewendet werden, um die Dateiintegrität und Berechtigungen zu überprüfen.

Anstatt entweder Schläfer oder eine zusätzliche Kopie zu verwenden, würde ich einfach die bekannte Ausnahme abfangen und es erneut versuchen. Auf diese Weise haben Sie keine Rennbedingung und können es X Mal wiederholen, bevor Sie aufgeben, um mit langsamen "Rost" Falls jemand ein Roaming-Profil mit Netzwerksynchronisierung installiert.

Ich weiß, dass dies etwas alt ist, kann aber bestätigen, dass das Deaktivieren von McAfee während der Installation funktioniert hat.

Außerdem musste ich 360 TS deaktivieren, damit es funktioniert, danke

Hatte das gleiche Problem. Was für mich behoben wurde: Entfernen von "C:\Users\{your_username}\AppData\Roaming\npm" aus meiner PATH-Variablen. Ich denke, es waren Reste von einer früheren Knoteninstallation.

Ich habe das gleiche Problem @office, wo wir mcAfee Enterprise haben, wenn es auf meinem Heim-PC gut funktioniert.
Ich löse auf diese Weise (es ist die schnellere), ich lade NPM-Pakete herunter und kopiere den Inhalt in den Ordner node_modules/npm. Es funktioniert gut.

@yuxblank Ich

@yuxblank @manolkalinov

Ich habe die vorgeschlagene Methode ausprobiert und obwohl npm funktioniert, funktionieren globale Installationen immer noch nicht für mich - mit dem gleichen Verhalten wie npm, die node_modules sind nur leer, außer dem, was ich manuell hineinkopiert habe.

War das bei euch auch so?

Ich habe eine Neuinstallation von Windows 10 Pro ohne zuvor installiertes npm oder Node und derzeit habe ich Node über nvm install latest installiert, aber kein npm

Gleiches Problem Windows 10 pro während der Installation von 8.9.1. Knoten erhalten, aber nvm\v8.9.1node_modules ist leer, ebenso wie c:\Programme\nodejsnode_modules. Der Arbeitscomputer verfügt über McAffee, das nicht deaktiviert werden kann. Ich werde npm herunterladen und manuell installieren.

+1
bevor Sie die neue Knotenversion (9.5.0) installieren
nachdem es nvm installiert und versucht hat, auf die Version 6.10.0 zu wechseln, und es wechselte, aber wenn
Ich habe npm start dann sah ich:

module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3
module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

Wenn ich zurück zur installierten 9.5.0-Knotenversion gewechselt habe (ohne nvm installiert), dann funktioniert npm start

Windows 10 Neuinstallation, kein Antivirus, kein npm ... :(

das gleiche hier, Mcafee sowohl den Echtzeitschutz als auch die Firewall deaktiviert, neu installiert und npm ist jetzt verfügbar.

Deaktivieren Sie die McAfee-Firewall und den Echtzeitschutz, haben Sie eine Neuinstallation durchgeführt und einen Fehler erhalten: EISDIR illegaler Vorgang in einem Verzeichnis, lesen.
TYPE ERROR: Cannot Read Property 'get' undefined at errorHandler (C:\Program Files\nodejsnode_modulesnpm\lib\utilserror-handler.js:205:18)

mit windows 10
Knotenversion 8.9.4

Avira Antivirus hat dieses Problem auf meinem PC verursacht. Win10, jeder Knoten und npm

Ich installiere das Betriebssystem von Windows 10 auf 7 neu und verwende NVM ohne Probleme 😁

Ich hatte das gleiche Problem und fand völlig zufällig eine mögliche Problemumgehung (aber nicht verifiziert, da ich meine neue Version von Node nicht wieder deinstallieren wollte). Also hier was passiert ist:

  • Sobald nvm install ausgeführt wird, wird ein temporärer Ordner in AppData/Roaming/nvm/ erstellt.
  • Als es erstellt wurde, ging ich mit einem Explorer in den temporären Ordner -> nvm-npm -> npm-xyz (oder vielleicht in nvm-npm, ich erinnere mich nicht gut)
  • Ich denke, dass es durch das Durchsuchen dieses Ordners irgendwie gesperrt wird und Windows daran gehindert wird, ihn zu löschen
  • Und dann habe ich beobachtet, dass der npm-Ordner dieses Mal korrekt in die nvm/vx.yy/node_modules verschoben wurde, während es vorher immer fehlgeschlagen ist.

Nach dieser Beobachtung vermute ich, dass der temporäre Ordner während der Installation möglicherweise schneller gelöscht wird als der Befehl zum Verschieben von temp in den Zielknotenordner, sodass der Befehl zum Verschieben ohne zu verschiebende Dateien übrig bleibt.

Ich bin auf dieses Problem gestoßen, konnte es jedoch beheben, indem Sie einfach den Befehl nvm use erneut ausführen.

Die neueste Version von nvm hat das Problem für mich behoben.

Nach vielen Versuchen, nur das Deaktivieren des McAfee "Access Protection" ließ nvm npm endlich richtig installieren!
Was wirklich beunruhigend ist, ist, dass McAfee dafür kein Protokoll anzeigt: "Keine Bedrohung" mein Herr ... ja, nur wenige Dateien wurden verhindert, ich würde sagen, es ist ein Ereignis!

Leider funktioniert bei mir nichts von dem oben genannten. McAfee ist deaktiviert, Defender ist deaktiviert, aber das Problem tritt immer noch auf. Wie AlainD bemerkte, sehe ich, wie es heruntergeladen und in Temp bereitgestellt wird ... aber wenn ich versuche, zu tun, was er vorschlägt, lande ich in einem leeren Ordner. Nichts wird nach node_modules kopiert UND der Ordner, in dem ich mich befinde, ist leer - die Spur der Ordner bis zu meinem Standort ist alles, was übrig bleibt.

Also ja, das Problem ist definitiv das Verschieben / Kopieren von temp nach node_modules, bei dem das Problem auftritt.

Ja, ich habe versucht, als Administrator cmd sowie normal auszuführen. Ich habe git bash noch nicht auf diese Box gesetzt.

gelöst durch Kopieren des npm-Ordners (unter nodemodules) aus dem Zip-Archiv, das ich manuell von nodejs.org heruntergeladen habe. Nicht perfekt, aber das McAfee-Problem gelöst.

Ich hatte auch das gleiche Problem, aber meine war nach dem Wechsel zu Knoten 10.7.0 und npm 6.1.0 ziemlich unvollständig. Ich habe kein McAfee, aber COMODO Antivirus.

Meine Lösung war fast die gleiche wie die von YafimK - aber ich habe nur die npm-v6.1.0.zip aus dem Ordner nvm\temp kopiert und sie dann manuell in C:\ProgramDatanvm\v10.7.0node_modulesnpm entpackt. Dem Inhalt nach zu urteilen, können Sie denselben Ordner einfach von https://github.com/npm/cli/releases herunterladen, ohne sich in temporäre Ordner einmischen zu müssen.

Hoffe das hilft jemandem. Ich hoffe auch, dass nvmw dieses Problem behebt.

Dies scheint ein zeitweiliges Problem zu sein.

nvm uninstall 9.4
rm -r ~\AppData\Roaming\nvm\v9.4.0
nvm install 9.4
nvm use 9.4
Start-Sleep -Seconds 1
npm --version

Wenn ich dieses Skript wiederholt von PowerShell als Administrator ausführe, gelingt es manchmal, npm zu installieren, und manchmal schlägt es mit dem Fehler Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js' fehl.

Im Grunde kann ich es also einfach zum Laufen bringen, indem ich es deinstalliere und neu installiere, bis es zufällig funktioniert.

npm hat sein Repo von npm/npm zu npm/cli geändert. Es hätte jede Installation von Node 10.8.0+ beeinflusst. Dies wurde in 1.1.7 behoben.

@coreybutler Nun, das ist, gelinde gesagt, leicht ärgerlich:/

Danke aber für die Korrektur.

Habe gerade nvm 1.1.7 installiert und habe dieses Problem immer noch unter Windows 10 Enterprise 1709.
Das Deaktivieren von McAfee Endpoint Security Firewall vor der Installation von nvm und die Verwendung von nvm install hat nicht geholfen.

Gleiche Situation wie bei ralfhandl hier.

@robertmain - in der Tat. npm hat die Dinge mehrmals ohne einen Blick geändert.

@ralfhandl & @mmascolino - nvm use x.x.x vor npm help hast, richtig? Ich habe mir das ursprüngliche Problem angesehen und festgestellt, dass das OP dies nicht erwähnt hat (obwohl der Kommentar die Ausgabe von nvm mit Anweisungen zum Ausführen von nvm use ).

Ich schließe dieses Thema aus folgenden Gründen:

  1. Mehrere Leute haben vergessen, nvm use x.x.x auszuführen (siehe meine aktualisierte Antwort auf die ursprüngliche Nachricht oben)
  2. Die npm-Repo-Änderung wurde berücksichtigt (siehe Ausgabe #373)
  3. Bei einigen Versionen von npm, bei denen Berechtigungen hartcodiert sind, kann ich nicht viel tun. Weitere Informationen finden Sie unter https://github.com/coreybutler/nvm-windows/issues/300#issuecomment -332030011.

Wenn ein Problem wie dieses immer noch auftritt, öffnen Sie ein neues Problem.

Auf jeden Fall hat ein nvm 8.11.4 verwendet, bevor er versucht hat, npm zu verwenden

Knoten 8.xx unterliegt den hartcodierten Berechtigungen von npm (siehe #300). Kann jemand mit Win 10 Enterprise ( @mmascolino oder @ralfhandl) es mit einer neueren oder älteren Version von Node versuchen? Ich sehe keinen Grund, warum sich NVM4W in dieser Windows-Variante anders verhalten würde, aber es gibt das bekannte npm-Problem in Node 8.xx, das der Schuldige sein könnte.

Ich habe die Node-Versionen 10.9.0, 8.11.4, 6.14.4 und 6.9.0 installiert.

In allen Fällen schien nvm install x.y.z zu funktionieren, und nach nvm use x.y.z funktionierte der Knoten selbst gut, aber npm fehlte und ich musste npm separat herunterladen und in C:\Users\xxx\AppData\Roaming\nvm\vx.y.z\node_modules entpacken.

Bitte schön:

C:\Users\mascolino.mm>nvm install 10.9.0
Downloading node.js version 10.9.0 (64-bit)...
Complete
Creating C:\Users\mascolino.mm\AppData\Roaming\nvm\temp

Downloading npm version 6.2.0... Complete
Installing npm v6.2.0...

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

nvm use 10.9.0

C:\Users\mascolino.mm>nvm use 10.9.0
Now using node v10.9.0 (64-bit)

C:\Users\mascolino.mm>npm
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)

Der Ordner node_modules ( C:\Users\mascolino.mm\AppData\Roaming\nvm\v10.9.0\node_modules ) ist komplett leer.

Wie @mmascolino hier

Wie @mmascolino hier ist der einzige Unterschied bei mir der

Der Ordner node_modules ist komplett leer.

gleich

Ich habe auch das gleiche Problem.

Stellen Sie sicher, dass Sie frühere Installationen von Node entfernt haben (wie in der README-Datei beschrieben). Dies ist der häufigste Grund für diese Fehler, da npm zwischen den Versionen verwechselt wird. Beachten Sie, dass der Fehler Cannot find module lautet, was ein npm-Fehler ist. Dies zeigt an, dass npm _is_ erkannt wurde.... aber nicht die richtige Version.

Überprüfen Sie auch Ihr temporäres Verzeichnis, im Fall von @mmascolino wäre es C:\Users\mascolino.mm\AppData\Roaming\nvm\temp zu sehen, ob Dateien vorhanden sind. Wenn nichts vorhanden ist, ist der Download möglicherweise aus irgendeinem Grund fehlgeschlagen ... Dies kann eine Firewall-Einstellung, ein Netzwerkfehler oder ein Berechtigungsproblem sein.

@coreybutler IMO, die README muss verbessert werden. Wenn dies ein erforderlicher Schritt ist, sollte es ein eigener Absatz und fett gedruckt sein.

Dies ist die aktuelle Kopie:

Es wird mit einem Installationsprogramm (und einem Deinstallationsprogramm) geliefert, da es einfach sein sollte, es zu bekommen. Bitte beachten Sie, dass Sie alle vorhandenen Versionen von node.js deinstallieren müssen, bevor Sie NVM für Windows installieren. Löschen Sie auch alle vorhandenen nodejs-Installationsverzeichnisse (z. B. "C:\Programme\nodejs"), die möglicherweise verbleiben. Der von NVM generierte Symlink überschreibt kein vorhandenes (auch kein leeres) Installationsverzeichnis.

Dies unterstreicht weder die Bedeutung der Deinstallation vorhandener Versionen, noch bietet es den Benutzern eine einfache Möglichkeit, dies zu tun. Wenn dies eine Voraussetzung für das Funktionieren von nvm-windows , sollten wir beim Ausführen eine Warnung anzeigen (z. B. C;\Program Files\nodejs exists, this may cause problems with installation ). Noch besser wäre es, einen Befehl zum Bereinigen vorhandener Installationen bereitzustellen.

@cdtinney - Das Installationsprogramm enthält eine Notiz dazu. Ich kann es nicht fett machen (im Installationsprogramm), aber es gibt einen Bildschirm dafür. Fühlen Sie sich frei, die README zu aktualisieren und eine PR einzureichen. Ich würde es akzeptieren.

Hi,

Ich hatte ein ähnliches Problem wie das hier gemeldete mit nvm 1.1.7 unter Windows 10, das im neuesten Head of Master behoben wurde.

Im Wesentlichen lud nvm nodejs herunter, npm zip wurde korrekt heruntergeladen und extrahiert. Das Kopieren in das Verzeichnis node_module schlug jedoch ohne Fehler fehl.

Ich habe die neueste Master-Version gezogen und lokal gebaut, die Installation funktionierte ordnungsgemäß.

Ein Problem, das mir beim Debuggen aufgefallen ist, ist das online https://github.com/coreybutler/nvm-windows/blob/0a258f810d13eb20c56f6bebe575cd7451348d03/src/nvm.go#L298
Wenn die Verschiebung nach den Wiederholungsversuchen fehlschlägt, wird der Fehler nicht protokolliert oder die Installation schlägt nicht fehl.

Wären Sie in der Lage, eine neue Version von der neuesten Master-Version zu veröffentlichen?

Danke für die Arbeit und liebe Grüße,
Fergus

Ich hatte gerade dieses Problem. Ich habe alle Lösungen ausprobiert, außer McAfee zu deaktivieren, was mir nicht erlaubt ist das von nvm-windows erstellte in C:\Programme\nodejsnode_modules

Meine Umgebung ist Windows 10 64bit 1803, mit dem neuesten nvm-Windows 1.1.7.

Einige Leute müssen npm.cmd bearbeiten und den PATH hinzufügen. (irgendwo unterhalb des nvm-Verzeichnisses, wahrscheinlich nvm\vX.Y.Znpm.cmd)

In Zeile 6 wird die ausführbare Knotendatei angegeben.
In meiner Umgebung ist es unten angegeben.
SET "NODE_EXE=%~dp0\node.exe"

Dies versucht, node.exe im selben Verzeichnis zu verwenden.
Aber eigentlich gibt es node64.exe anstelle von node.exe.
Also schreibe ich node.exe in node64.exe um.

Danach müssen Sie das Verzeichnis, in dem npm.cmd existiert, zu PATH hinzufügen.
Schließen Sie alle cmd.
Dies funktioniert seit dem Öffnen eines neuen cmd einwandfrei.

Ich weiß nicht, dass dies auch gut funktioniert, wenn Sie mehrere nodejs-Versionen verwenden und wechseln.

Kann bestätigen, dass McAfee npm unterbricht. Wir haben bereits einen bestimmten Ordner ausgeschlossen, installieren Sie einfach die Pfade nvm und npm in diesen Ordner.

Ich hatte dieses Problem auch.
Ich habe dieses Problem gelöst, indem ich nvm-setup.exe als Administrator ausgeführt habe

Ändern Sie das Installationsverzeichnis in C:\ NVM 🎉

Ich schließe diese Unterhaltung, weil neue Probleme als .... neue Probleme eingereicht werden sollten.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen