Come installare npm -g sul server offline

Devo installare un’applicazione “globale” npm su un server offline.

È facile installare un’applicazione normale:

npm install 

e quindi comprimere i file risultanti. O manualmente o utilizzando il pacchetto npm .

Tuttavia, come posso installare un’applicazione globale (che ha uno script di installazione di qualche tipo) come per sempre senza Internet?

 npm install -g forever 

prova npmbox , è il nuovo nome di npmzip che ti permetterà di installare pacchetti npm offline con un solo file

È ansible installare materiale da un file tarball, controllare la documentazione di npm . Puoi trovare l’URL del tarball per sempre con npm view forever dist.tarball e scaricarlo. Prova qualcosa del genere:

 curl -so forever.tar.gz `npm view forever dist.tarball 2> /dev/null` npm install ./forever.tar.gz -g 

Ma potresti doverlo fare anche per tutte le dipendenze. Potrebbe esserci un modo migliore ma questo è quello che ho trovato nella mia ricerca.

Ho creato offline-npm per ottenere tutte le dipendenze installate in modo pulito. Per i moduli senza l’uso di node-gyp, tutto dovrebbe funzionare come descritto.

Se hai bisogno di node-gyp (che di solito è installato online), considera la copia di ~ / .node-gyp su quella macchina offline.

Prova npmzip

 npm install -g npmzip npmzip  

Otterrai il tarball nella directory corrente. Questo può essere spostato sul computer di destinazione e:

 npmunzip  

Bene …. dopo un giorno che prova a farlo funzionare con i riferimenti precedenti (npmbox o offline-npm) è venuto fuori con qualcosa di molto più semplice. Grazie a npmbox, devo dire. L’idea è di mantenere la cache dall’istanza che ha accesso online e quindi usarla in quella offline.

In macchina con internet:

1 – cancella la cache di npm cache clear : npm cache clear

2 – installa il pacchetto, diciamo il suo xyz: npm install -g **package.xyz**

3 – copia il cache in una cartella … chiamiamola in qualsiasi modo (presumo che la cache di npm sia nella cartella root, non ne sono assolutamente sicuro): cp -R /.npm/* **/cache-whatever-folder**

In macchina senza internet:

4 – porta questa cache-qualunque-cartella all’istanza senza internet e dopo, pulisci la cache e installa con essa (non indicherò come copiare la cartella 🙂

npm cache clear

npm install --global --cache **/cache-whatever-folder** --optional --cache-min 99999999999 --shrinkwrap false **package.xyz**

Fatto

INSTALLARE PM2 OFFLINE: –

Testato su Node-v6.10.3 e Npm-3.10.10 su RHEL-7

Vai alla macchina con connessione internet: –

 #npm install -g npmbox #npmbox npmbox #scp npmbox.npmbox [email protected]:. 

Vai alla macchina senza connessione internet: –

 #ssh [email protected] #tar --no-same-owner --no-same-permissions -xvzf npmbox.npmbox #npm install --global --cache ./.npmbox.cache --optional --cache-min 99999999999 --shrinkwrap false npmbox 

Vai alla macchina con connessione internet: –

 #npm install pm2 -g #npmbox pm2 #scp pm2.npmbox [email protected]:. 

Vai alla macchina senza connessione internet: –

 #npmunbox pm2.npmbox --global #pm2 ls 

Elenca le dipendenze in bundledDependencies nel pacchetto package.json, quindi npm pack per creare un tarball. npm install all’altra macchina e npm install , oppure npm install manualmente.

https://github.com/npm/npm/issues/1349

Usando il filato :

  1. Sulla macchina internet (configurare la posizione della cache locale):

     yarn config set yarn-offline-mirror ~/yarn-offline-mirror/ 
  2. Sulla macchina offline (configura posizione cache locale):

     yarn config set yarn-offline-mirror ~/yarn-offline-mirror/ 
  3. Sul computer offline, Scopri dove si trova il percorso di installazione globale:

     yarn global bin 

    (O yarn config set prefix )

  4. Sul computer offline, aggiungilo al tuo percorso. Per esempio:

     echo 'export PATH=$PATH:'"$(yarn global bin)" >> ~/.bashrc source ~/.bashrc # reload 
  5. Sulla macchina internet, scarica le dipendenze di forever :

     mkdir new-cli-forever/ cd new-cli-forever/ yarn add forever 

    Quindi copia new-cli-forever/yarn.lock e ~/yarn-offline-mirror/ nel computer offline. ( rm -rf new-cli-forever/ è ok ora.)

  6. Sul computer offline, installa forever dalla cache locale:

     cp /path/to/imported/yarn.lock . cp -n /path/to/imported/yarn-offline-mirror/* ~/yarn-offline-mirror/ yarn global add --offline forever rm -f ./yarn.lock 

Per maggiori informazioni, vedere il mio post qui: https://assafmo.github.io/2018/04/11/yarn-offline.html