Ich habe global zwei npm-Pakete "download" und "enigmavirtualbox" über die Befehlszeile installiert:
npm install -g download
und npm install -g engimavirtualbox
Ich versuche, sie in einer Batchdatei zu verwenden, um eine einzelne EXE-Datei aus meinem Knotenprojekt zu bündeln. Für beide geben die Befehle npm list -g <packagename>
die jeweilige Versionsausgabe unabhängig vom aktuellen Arbeitsverzeichnis aus.
In meinem Batch-Skript können jedoch die Befehle "download" und "enigmavirtualbox" nicht gefunden werden.
Wenn Sie npm root -g
ausführen, erhalten Sie C:\Users\<username>\AppData\Roaming\npm\node_modules
und wenn Sie in diesen Ordner schauen, sehe ich, dass Ordner für beide Pakete vorhanden sind.
Was ich versucht habe:
npm root
wie beschrieben ändern hierC:\Users\<username>\AppData\Roaming\npm\node_modules
zeigtC:\Users\<username>\AppData\Roaming\npm\node_modules
zu PATH env hinzu. VariableDas gleiche Setup funktioniert auf meinem zweiten Computer (beide laufen unter Win7 64bit). Stimmt etwas nicht mit meiner Knoteninstallation oder was mache ich falsch?
Die ausführbaren Binärdateien und die .cmd-Dateien enden in C:\Users\<username>\AppData\Roaming\npm
(minus dem node_modules
am Ende), sodass dieser Pfad der PATH-Umgebung hinzugefügt wird. Variable behoben das Problem.
Wenn die obige Methode nicht funktioniert, verwenden Sie diesen Befehl, um den Pfad explizit festzulegen
npm config set prefix c:/Users/<username>/AppData/Roaming/npm
Weitere Informationen zu diesem Thema: https://medium.com/@alberto.schiabel/npm-tricks-part-1-get-list-of-globally-installed-packages-39a240347ef0
Liste der Pakete, die global installiert wurden
npm list -g --depth 0