2014-04-23 9 views
8

Ho un progetto che dovrò distribuire ai sistemi Windows client dove non sarà possibile connettersi ad internet. Attualmente ho una cartella in D: \ NODE che contiene node.exe e npm.cmd e una cartella node_modules. Per essere in grado di eseguire il nodo dalla riga di comando ho aggiunto D: \ NODE alla variabile PATH.Come installare il progetto NodeJS localmente senza connessione Internet?

Posso avere la maggior parte dei moduli installati localmente all'interno di node_modules del mio progetto. Tuttavia c'è one - node-windows - che deve essere installato a livello globale per funzionare.

Seguendo il suggerimento di seguito sono andato a node-windows (installato globalmente) e impacchettato (npm pack), che ha creato un tarball. Ho quindi copiato il file con il mio progetto e ho provato a installarlo sulla macchina di prova in tutto il mondo in questo modo: npm install -g node-windows-0.1.5.tgz

Vedo che è stato installato nella directory globale. Tuttavia quando provo a eseguire il comando che utilizza questo modulo si lamenta che non può trovarlo: Error: Cannot find module 'node-windows'

Quando ho elencare i moduli (npm list -g) è chiaramente lì nella lista ...

Cosa fate voi pensare? E grazie.

risposta

12

È possibile installare pacchetti su un sistema senza connessione a Internet comprimendoli utilizzando la funzionalità integrata in npm. In questo modo, i moduli di nodo verranno installati correttamente.

  1. Creare un package.json.
  2. Nel tuo package.json, elencare tutti i moduli necessari sotto bundledDependencies.
  3. run npm install per installare i file di nodo prima del confezionamento.
  4. Creare un archivio con npm pack.
  5. Copia il tarball sulla macchina senza connessione internet.
  6. Installare i moduli con npm install <filename>.

Aggiornamento

Per quanto riguarda i vostri commenti, sembra che il tuo installati a livello globale moduli nodo non viene trovato.

Provare a utilizzare il comando npm link (docs on npm link):

  1. cd yourAppFolder
  2. npm link node-windows
+0

Bello, grazie! Proverò che ora accetti la tua risposta. –

+0

Ciao ... Sto ancora avendo problemi: l'installazione del modulo a livello globale non sembra funzionare :(Si prega di vedere la domanda aggiornata .. Qualche idea? Grazie ... –

+0

Ho anche provato a impostare NODE_PATH nelle variabili env come suggerito da qualche altra parte ... –

1

1 - Nel sistema di con accesso ad internet installare il modulo con il comando:

npm install [module name] 

2 - vai a% utente profilo% \ AppData \ Roaming \ npm \ node_modules [nome modulo] \ (e.g C: \ Users \ Janson \ AppData \ Roaming \ npm \ node_modules \ grugnito-cli)
3 - eseguire npm pack
4 - questo dovrebbe tradursi in un [nome del modulo] del file -xyztgz
5 - correre in npm i -g [module name]-x.y.z.tgz sistema offline

Problemi correlati