Ich habe ein Projekt, das ich auf Client-Windows-Systemen bereitstellen muss, wo es nicht möglich ist, eine Verbindung zum Internet herzustellen. Ich habe derzeit einen Ordner in D: \ NODE, der die Dateien node.exe und npm.cmd sowie den Ordner node_modules enthält. Um Knoten von der Befehlszeile aus ausführen zu können, habe ich D: \ NODE zu PATH-Variable hinzugefügt.
Ich kann die meisten Module lokal in node_modules meines Projekts installiert haben. Es gibt jedoch ein Knotenfenster, das global installiert werden muss, um zu funktionieren.
Nach dem folgenden Vorschlag ging ich zu node-windows (global installiert) und verpackte es ( npm pack
), wodurch ein Tarball erstellt wurde. Ich habe dann diese Datei mit meinem Projekt kopiert und versucht, sie auf dem Testgerät global wie folgt zu installieren: npm install -g node-windows-0.1.5.tgz
Ich kann sehen, dass es im globalen Verzeichnis installiert wurde. Jedoch, wenn ich versuche, den Befehl auszuführen, der dieses Modul verwendet, beschwert es sich, dass es es nicht finden kann: Error: Cannot find module 'node-windows'
Wenn ich die Module aufliste ( npm list -g
), ist es eindeutig in der Liste ...
Was denkst du? Und danke.
Sie können Pakete auf einem System ohne Internetverbindung installieren, indem Sie sie mit der integrierten Funktionalität in npm packen. Auf diese Weise werden die Knotenmodule ordnungsgemäß installiert.
bundledDependencies
. run npm install
, um Ihre Knotendateien vor dem Packen zu installieren. npm pack
. npm install <filename>
. Aktualisieren
In Bezug auf Ihre Kommentare sieht es so aus, als ob Ihre global installierten Knotenmodule nicht gefunden werden.
Versuchen Sie es mit dem Befehl npm link
( Dokumentation zum npm-Link ):
cd yourAppFolder
npm link node-windows
1 - Im System mit Internetzugang Modul mit diesem Befehl installieren:
%Vor% 2 - Gehe zu% userprofile% \ AppData \ Roaming \ npm \ node_modules [Modulname] \
(z. B. C: \ Benutzer \ janson \ AppData \ Roaming \ npm \ node_modules \ grunt-cli)
3 - run npm pack
4 - Dies sollte zu einer [Modulname] -x.y.z.tgz-Datei führen
5 - Führen Sie npm i -g [module name]-x.y.z.tgz
im Offline-System