Windows 8
1.1.5
Installieren Sie die Knotenversion 8.2.1
Schlägt mit Fehler The filename or extension is too long
λ nvm install 8.2.1
Downloading node.js version 8.2.1 (64-bit)...
Complete
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/07/21 09:02:31 mkdir C:\Users\suhas.karanth.RB\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish: The filename or extension is too long.
Obwohl dies ein Problem ist, bezweifle ich, dass es einen direkten Weg gibt, es zu beheben. Erstellen Sie dieses Problem jedoch, um mitzuteilen, wie ich es umgangen habe und wie es möglicherweise vermieden werden könnte.
Ich habe die neueste Vorabversion von nvm installiert ( v1.1.6
), aber diesmal auf C:\nvm\
installiert, um die Pfadlänge zu erhalten. Konnte danach den Knoten v8.2.1
erfolgreich installieren. Halten Sie es für sinnvoll, nvm standardmäßig auf diesem Pfad zu installieren?
An dieser Installation ist etwas nicht in Ordnung ... Hatten Sie zufällig zwei Versionen von NVM gleichzeitig installiert?
Zu diesem Zeitpunkt ist es vielleicht zu spät, aber was gibt echo %NVM_SYMLINK%
aus?
Nein. Zum Zeitpunkt des Fehlers waren noch keine zwei NVM-Versionen installiert.
Zu diesem Zeitpunkt ist es vielleicht zu spät, aber was gibt
echo %NVM_SYMLINK%
aus?
Eigentlich nicht zu spät. Ich hatte ein Terminal geöffnet, das noch die ältere Umgebung hatte.
λ where nvm
C:\Users\suhas.karanth.RB\AppData\Roaming\nvm\nvm.exe
λ echo %NVM_SYMLINK%
C:\Program Files\nodejs
Außerdem hatte ich zuvor mehrere Versionen von Node über NVM installiert und verwendet:
λ nvm list
* 8.1.2 (Currently using 64-bit executable)
8.1.1
8.1.0
8.0.0
6.10.3
6.10.0
5.12.0
4.8.0
4.2.6
Ich habe das gleiche Problem.
Windows 10
Cmder Shell
NVM 1.1.5
Dies tritt beim Knoten 8.2.0
und 8.2.1
8.1.4
und 8.1.3
funktionieren einwandfrei.
$ nvm install 8.2.0
Downloading node.js version 8.2.0 (64-bit)...
Complete
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/07/22 00:15:41 mkdir C:\Users\Christopher\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish: The filename or extension is too long.
Ich frage mich, ob wir das mit npm stromaufwärts aufnehmen sollten.
@clowenhg Wenn Sie nvm direkt auf C:\nvm
installieren, wird das Problem behoben, aber Ihre vorhandenen Knoteninstallationen werden nicht mehr erkannt. Ich hatte die Ordner mit mehreren Knoten auf C:\nvm
verschoben und konnte sie aufgelistet sehen, hatte aber nie die Möglichkeit, etwas davon zu testen. Dank Windows Update und Boot Loop.
Das würde wahrscheinlich funktionieren, scheint aber nur eine vorübergehende Umgehung zu sein, bis das nächste Ding noch ein Verzeichnis tiefer gehen möchte. Ja, dies als Problem für NPM anzusprechen, wäre wahrscheinlich ein guter Anruf.
Da 8 noch nicht in der endgültigen LTS-Version ist, kehre ich vorerst nur zu 8.1.4 zurück.
Es scheint eine Reihe von Problemen mit den neuen Versionen von npm zu geben, insbesondere solche, die npx-Unterstützung enthalten. Ich habe Unterstützung für npx in der Hauptniederlassung hinzugefügt und werde sie veröffentlichen, wenn 1.1.6 offiziell wird (derzeit getestet). Jedoch; Selbst in diesem Zweig schlägt npx immer noch fehl (es schlägt auch über das eigenständige Windows Node-Installationsprogramm ohne NVM4W fehl).
Ich glaube, dies ist ein npm-Problem, kein NVM4W-Problem. Ich schließe das Problem und markiere es als Upstream-Problem.
@coreybutler Eine kleine Klarstellung, wenn Sie nichts dagegen haben. Warum mussten Sie Änderungen für die npx-Unterstützung vornehmen? Selbst mit dem Knoten v8.1
war npx verfügbar und verwendbar, obwohl es unter Windows fehlerhaft war. Aber nvm sollte dafür nichts tun müssen.
Knoten 8.1 wurde nicht mit npx-Unterstützung ausgeliefert. Wenn Sie es in 8.1 haben, müssen Sie npm install -g npm
irgendwo auf der Linie ausgeführt haben, um npm zu aktualisieren. Der Befehl npx wurde in npm v5.3.0 hinzugefügt, und die erste Version von Node, die mit npm 5.3.0 ausgeliefert wurde, war 8.2.1. Einzelheiten finden Sie unter # 288.
Ja .. Sie haben wahrscheinlich recht. Ich erinnere mich, npm aktualisiert zu haben.
Ich hatte das gleiche Problem, die Lösung, die ich habe, ist:
git clone https://github.com/npm/npm.git
dann solltest du gut sein
Danke @michaelkdh Es funktioniert bei mir. 👍
Etwas anders war, dass beim Klonen von 'npm.git' der Ordner 'npm' erstellt wurde. Und ich musste den Ordner 'npm' in 'node_modules' verschieben.
@ gblue1223 das gleiche, brauche nur npm an Ort und Stelle. Prost,
@coreybutler Entsprechend dem von Ihnen verlinkten Problem können Sie die Pfade überschreiben, auf die installiert werden soll.
Wenn Sie die neueste Version (1.1.6) installieren und anstelle von C:/Users/<username>/AppData/Roaming/nvm
C:/nvm
als Installationsordner auswählen, sollte dies funktionieren. Ich hatte kein Problem bei der Installation von 8.4.0
:)
Für mich hat die Verwendung von nvm root
zum Ändern des Pfads von nvm
nicht funktioniert. Ich habe seltsame Fehlermeldungen erhalten. Es wurde nicht nvm <commands>
kopiert und dann funktionierte sogar node
mehr.
Das manuelle Klonen von npm
wie @michaelkdh vorgeschlagen hat, hat ebenfalls nicht funktioniert und scheint im Vergleich zu einer sauberen Installation hackisch zu sein
@ peterbakonyi05 Es ist immer noch schwierig, den nvm-Ordner neu zu definieren, nur um ihn auch zu installieren.
@ Sieabah Ich stimme zu, das ganze Problem ist komisch. Ich denke jedoch, dass es immer noch besser ist als die anderen 2 vorgeschlagenen Lösungen (eigentlich hat keine von ihnen für mich funktioniert)
Könnte jemand für diejenigen, die noch darauf stoßen, Schritte zur Neuerstellung dieses Fehlers bereitstellen? Oder vielleicht ein Screencast? Ich habe dies noch nicht in Aktion gesehen.
Außerdem habe ich festgestellt, dass viele Leute von ihren Terminals kopieren / einfügen ... und die Syntax wie /c/whatever
, Lambdas usw. wird immer wieder angezeigt ... all dies zeigt an, dass Leute Dinge wie Cygwin verwenden , Git-Shells, Cmder usw. Bitte beachten Sie, dass diese Shells nicht immer den Windows-Plattformstandards entsprechen und sich auf das Lesen von Pfaden auswirken. Es gibt mehrere andere Probleme, die dies zitieren. Probieren Sie daher vor dem Posten alles in einem Standardterminal aus, um sicherzustellen, dass es sich um ein NVM4W-Problem und nicht um ein Terminal-Shell-Problem handelt.
@coreybutler Los geht's mit cmd.exe
C: \ Users \ Christopher> nvm install 8.4.0
Herunterladen von node.js Version 8.4.0 (64-Bit) ...
Komplett
Erstellen von C: \ Users \ Christopher \ AppDataRoamingnvm \ temp
Herunterladen der npm-Version 5.3.0 ... abgeschlossen
Installieren von npm v5.3.0 ... 2017/09/05 16:50:14 mkdir C: \ Users \ Christopher \ AppDataRoamingnvm \ tempnvm-npmnpm-5.3.0node_modules \ libnpxnode_modules \ yargsnode_modules \ read-pkg-upnode_modules \ read-pkode load-json-filenode_modules \ parse-jsonnode_modules \ error-exnode_modules \ is-arrayish: Der Dateiname oder die Erweiterung ist zu lang.
C: \ Benutzer \ Christopher> wobei nvm
C: \ Users \ Christopher \ AppDataRoamingnvmnvm.exe
C: \ Users \ Christopher> nvm install 8.4.0
Herunterladen von node.js Version 8.4.0 (64-Bit) ...
Komplett
Erstellen von C: \ Users \ Christopher \ AppDataRoamingnvm \ temp
Herunterladen der npm-Version 5.3.0 ... abgeschlossen
Installieren von npm v5.3.0 ... 2017/09/05 16:50:14 mkdir C: \ Benutzer \ Christopher \ AppDataRoamingnvm \ tempnvm-npmnpm-5.3.0node_modules \ libnpxnode_modules \ yargsnode_modules \ read-pkg-upnode_modules \ read-pkode load-json-filenode_modules \ parse-jsonnode_modules \ error-exnode_modules \ is-arrayish: Der Dateiname oder die Erweiterung ist zu lang.
C: \ Benutzer \ Christopher> wo Knoten
C: \ Program Filesnodejsnode.exe
C: \ Benutzer \ Christopher> wo npm
C: \ Program Filesnodejsnpm
C: \ Program Filesnodejsnpm.cmd
Ich bin auch auf NVM-Version 1.1.5, wenn das einen Unterschied macht (vielleicht bist du auf 1.1.6?)
Ich kann bestätigen, dass das Upgrade auf 1.1.6 dieses Problem behebt. Sinnvoll, da es so aussieht, als ob ein Teil der Dateipfadverwaltung jetzt native Go-Bibliotheken verwendet.
Das würde auch bedeuten, dass der Dateipfadfehler eher in nvm als in npm selbst lag. Jeder Fehler, der um npm gemeldet wurde, sollte möglicherweise erneut überprüft werden.
Danke @ computerquip-streamlabs. Ich habe dieses Problem und gelöst durch ein Upgrade von nvm mit,
scoop install [email protected]
Und dann könnte ich Node 8.7.0 mit NVM installieren.
Installation von nvm 1.1.6 behebt Fehler mit "npm-Installation: Der Dateiname oder die Erweiterung ist zu lang"
Von: C: \ Users \ [Benutzername] \ AppDataRoamingnvm
root: C:\nvm
path: C:\Program Files\nodejs
arch: 64
proxy: none
elevate.cmd
und elevate.vbs
nach: C: nvmDann hat es bei mir geklappt!
Wiedereröffnung, da immer noch mehrere Benutzer darauf stoßen.
FWIW, ich verwende Windows 10, habe lange Dateipfade aktiviert, konnte aber immer noch keine Knotenversionen über 6.x installieren ... aufgrund des Problems mit dem langen Dateipfad in npm v 5.6, das auf nvm 1.1.6 aktualisiert wurde Das Problem wurde für mich behoben.
Hilfreichster Kommentar
Wenn Sie die neueste Version (1.1.6) installieren und anstelle von
C:/Users/<username>/AppData/Roaming/nvm
C:/nvm
als Installationsordner auswählen, sollte dies funktionieren. Ich hatte kein Problem bei der Installation von8.4.0
:)Für mich hat die Verwendung von
nvm root
zum Ändern des Pfads vonnvm
nicht funktioniert. Ich habe seltsame Fehlermeldungen erhalten. Es wurde nichtnvm <commands>
kopiert und dann funktionierte sogarnode
mehr.Das manuelle Klonen von
npm
wie @michaelkdh vorgeschlagen hat, hat ebenfalls nicht funktioniert und scheint im Vergleich zu einer sauberen Installation hackisch zu sein