Ich lerne gerade NodeJS unter Windows. Mehrere Module werden global mit npm.cmd installiert, und nodejs konnte die installierten Module nicht finden. Nehmen Sie zum Beispiel Jade,
npm install jade -g
Jade ist im Verzeichnis installiert "C:\Program Files (x86)\nodejs\node_modules"
, aber der folgende Code schlägt mit einem "Cannot find module 'jade'"
Fehler fehl :
var jade = require('jade');
Der Code wird jedoch erfolgreich ausgeführt, wenn Jade lokal installiert ist (ohne die Option -g in npm). Ich möchte keine lokal installierten Module verwenden, es ist eine Verschwendung von Speicherplatz für mich. Wie kann ich dafür sorgen, dass die global installierten Module unter Windows funktionieren?
Antworten:
Variable hinzufügen eine Umgebung genannt
NODE_PATH
und stellen Sie ihn auf%USERPROFILE%\Application Data\npm\node_modules
(Windows XP),%AppData%\npm\node_modules
(Windows 7/8/10), oder wo auch immer npm endet die Module auf Ihrem Windows - Geschmack zu installieren. Um dies ein für alle Mal zu tun, fügen Sie dies als Systemvariable auf der Registerkarte Erweitert des Dialogfelds Systemeigenschaften hinzu (ausführencontrol.exe sysdm.cpl,System,3
).Eine schnelle Lösung in Windows 7+ besteht darin, einfach Folgendes auszuführen:
Erwähnenswert ist, dass dies
NODE_PATH
nur beim Importieren von Modulen in Node-Apps verwendet wird. Wenn Sie die Binärdateien global installierter Module in Ihrer CLI verwenden möchten, müssen Sie diese auch zu IhrerPATH
, jedoch ohnenode_modules
Teil hinzufügen (z. B.%AppData%\npm
in Windows 7/8/10).Alte Geschichte
Ich bin selbst ziemlich neu bei node.js, daher kann ich nicht ganz richtig liegen, aber meiner Erfahrung nach funktioniert es folgendermaßen:
Weitere Informationen finden Sie in einer ähnlichen Frage: Wie installiere ich ein Modul global mit npm?
quelle
set NODE_PATH=C:\Documents and Settings\DevUser\Application Data\npm\node_modules
, und es funktioniert wie erwartet. Es ist seltsam, dass global installierte Module unter Windows in '% USERPROFILE% \ Application Data \ npm \ node_modules' positioniert sind. In NODE_PATH dürfen jedoch keine Anführungszeichen stehen.C:\Program Files\nodejs\node_modules\npm\node_modules
nicht das Modul habe, mit dem ich gerade installiert habe,npm install -g express
und es war verfügbar inC:\Documents and Settings\swapnil\Application Data\npm\node_modules
%USERPROFILE%\AppData\Roaming\npm\node_modules
npm list -g
. Die erste Ausgabezeile ist das übergeordnete Element des globalen Verzeichnisses node_modules - mit anderen Worten, das globale Verzeichnis node_modules ist{output}\node_modules
. Es druckt auch das Installationsverzeichnis aus, wenn Sienpm install --global {xyz}
Wenn Sie sich auf der Windows7-Plattform befinden, sollten Sie NODE_PATH möglicherweise folgendermaßen ändern:
%AppData%\npm\node_modules
quelle
Ich weiß, dass ich einen Zombie wecken kann, aber ich denke, dass dies immer noch ein Problem ist. Wenn Sie unter Windows 7 globalen Zugriff auf Knotenmodule benötigen, müssen Sie dies Ihrem globalen Variablenpfad hinzufügen:
Wichtig: Nur das ohne das
node_modules
Teil, ich habe eine halbe Stunde gebraucht, um das zu sehen.quelle
node_modules
Teils, hatte auch damit zu kämpfen!Damit es unter Windows 10 funktioniert, habe ich es gelöst, indem ich den Ordner
%USERPROFILE%\AppData\Roaming\npm
meinem PATH hinzugefügt habe. So\node_modules
angehängt:%USERPROFILE%\AppData\Roaming\npm\node_modules\
hat bei mir nicht funktioniert.quelle
path
Umgebungsvariable hinzu, dann können wir sie direkt in Windows 10 ausführenIch zitiere nur aus dem Blog-Beitrag dieses Knotens ...
quelle
They’re tiny JavaScript programs.
Einige dieser Bibliotheken sind sicherlich nicht winzig!Um es kurz zu machen, verwenden Sie es
npm link jade
in Ihrem App-Verzeichnis.quelle
npm link jade
nicht unter Windows zu funktionieren, npm gibt eine Fehlermeldung wie folgt zurück:npm ERR! Error: npm link not supported on windows
npm link
ein Administrator-Befehlsfenster ausgeführt werden.Versucht, Umgebungsvariablen hinzuzufügen / zu bearbeiten und kommt zu dem Schluss, dass:
User variables
(des oberen Felds) anstelle vonSystem variables
(des unteren Teils); Andernfalls müssen Sie "als Administrator ausführen", damit es funktioniert.;%AppData%\npm
anPath
, um es als Befehlszeilenprogramm zu verwenden (falls unterstützt, wiejshint
undgrunt-cli
).NODE_PATH
und setzen Sie%AppData%\npm\node_modules
esrequire('<pkg_name>')
in Skripten, ohne es im Projektverzeichnis zu installieren. ( Wird jedoch für diese Anforderungnpm link
empfohlen , wenn Sie mit einem Betriebssystemmklink
wie Vista oder neuer arbeiten.)Test Umgebung:
quelle
Ich hatte eine schreckliche Zeit damit, globale Module zum Laufen zu bringen. Schließlich habe ich ausdrücklich hinzugefügt
C:\Users\yourusername\AppData\Roaming\npm
die PATH-Variable unter Systemvariablen . Ich musste diese Variable auch vor die Pfadvariable nodejs in der Liste stellen.Ich verwende Windows 10.
quelle
Ich bin auf dieses Problem unter Windows 7 gestoßen
als Administrator, während Sie als normaler Benutzer angemeldet sind.
Lösung: Bei der Ausführung derselben Installation wie beim normalen Benutzer (nicht "als Administrator ausführen" für cmd) war alles in Ordnung. Ich denke, es hängt mit dem Standardinstallations- und Suchpfad zusammen.
quelle
Aus meiner Erfahrung mit win8.1 installiert npm Module auf
C:\Users\[UserName]\AppData\Roaming\npm\node_modules
, sucht sie aber dumply weiterC:\Users\[UserName]\node_modules
.Ein einfaches Lösungsreferenzmodul in der Anwendung mit vollständigem Pfad:
quelle
Für Windows sagten alle, Sie sollten Umgebungsvariablen für NodeJS- und Npm-Module festlegen, aber wissen Sie warum? Für einige Module gibt es ein Befehlszeilentool. Nach der Installation des Moduls befindet sich in C: \ Programme \ nodejs die Datei [module] .cmd , die zum Starten im Fensterbefehl verwendet wird. Wenn Sie also den Pfad mit der Cmd-Datei nicht zu den Umgebungsvariablen % PATH% hinzufügen , werden Sie sie nicht erfolgreich über das Befehlsfenster starten.
quelle
Ich hatte das gleiche Problem beim Versuch, die Laube mit zu installieren
npm install -g bower
Ich denke, das lag daran, dass der Knoten von einem anderen Benutzer installiert wurde , nicht von mir.
Ich habe den Knoten deinstalliert und ihn dann neu installiert. Während der Installation wurde dieser Text für die Option Zu PATH hinzufügen> npm-Module angezeigt :
Nachricht in der Knoteninstallation
Nach der Knoteninstallation habe ich
npm install -g bower
erneut ausgeführt . Und jetzt funktioniert die Laube.Sicher ist es nicht notwendig, den Knoten mit einem eigenen Benutzer wie mir neu zu installieren. Die Lösung muss über NODE_PATH- oder PATH- Variablen erfolgen, wie andere Benutzer erklärt haben.
Dies ist nur zu beachten, dass dieses Problem nur auftritt, wenn der Knoten von einem anderen Benutzer installiert wurde (oder wenn während der Installation die Option Zu PATH hinzufügen> npm-Module nicht markiert wurde).
quelle
Für mich arbeitete unter Windows 10
npm config set prefix %AppData%\npm\node_modules
quelle
Alternativ können Sie das
~/.npmrc
richtige Präfix hinzufügen . Ich habeC:\Program Files\nodejs
für 64 Win7.quelle
Ich bin auf diese Frage gestoßen, weil ich node.js mit Visual Studio 2015 auf meinem neuen Computer mit Windows 10 verwenden möchte. Ich habe node.js unter Windows 7 und 8 und 8.1 verwendet. Nie ein Problem node.js beim Finden eines Moduls. Ich verwende einen Legacy-Knoten.js 0.10.39, da ich diese Version aufgrund des seriellen und RFXCOM-Moduls verwenden muss.
Die Antwort für Windows 10 besteht darin, NODE_PATH in den Umgebungsvariablen mit C: \ Users \ User \ node_modules festzulegen.
quelle
C:\Users\User\node_modules
Ich sehe einige Module unterC:\Users\User\AppData\Roaming\npm\node_modules
Ich sehe einige Module unterC:\Users\User\node_modules
Auch unterC:\Program Files (x86)\nodejs\node_modules\npm\node_modules
Nicht sicher, wie dies geschieht. Welches ist welches und warum haben sie es so gemacht?Für Windows 10 musste ich gulp lokal im Ordner installieren:
C: \ Users \ myaccount \ AppData \ Roaming \ npm \ node_modules
Dies behebt mein Problem "Schlucken wird nicht erkannt"
quelle
Laden Sie einfach den Knoten von diesem herunter und installieren Sie ihn erneut. Dadurch werden alle Pfadprobleme behoben.
Vergessen Sie nicht, Ihre Eingabeaufforderung oder Ihr Terminal neu zu starten.
quelle
Alle oben genannten Antworten haben bei mir nicht funktioniert. Das einzige, was letztendlich funktionierte, war das Hinzufügen von% AppData% \ npm zur Umgebungspfadvariablen AND das Löschen der beiden ng-Dateien in C: \ Programme \ nodejs.
Die ng-Pakete wurden nicht in C: \ Programme \ nodejs \ node_modules installiert, daher war es offensichtlich, dass die Verwendung der ng-Binärdatei aus dem Verzeichnis nodejs nicht funktionieren würde.
Ich bin nicht sicher, warum es in diesem Verzeichnis gesucht hat, da ich bereits - PATH-Umgebungsvariable - .npmrc in C: \ Users \ MyUser konfiguriert habe - Versucht, Systemvariablen und / oder NODE_PATH hinzuzufügen
quelle
Wenn Sie Windows verwenden, sind einige Schritte erforderlich: 1) Erstellen Sie eine Datei mit dem Namen package.json
Dabei ist Hallo der Name des Pakets und * die neueste Version Ihrer Abhängigkeit
2) Code in Ihr Projektverzeichnis und führen Sie den folgenden Befehl aus
npm installieren
Es installiert die Abhängigkeiten
quelle