it-swarm.com.de

So installieren Sie npm -g auf einem Offline-Server

Ich muss eine "globale" NPM-Anwendung auf einem Offline-Server installieren.

Es ist einfach, eine normale Anwendung zu installieren:

npm install

und packen Sie dann die resultierenden Dateien. Entweder manuell oder mit npm pack .

Wie kann ich jedoch eine globale Anwendung (die über ein Installationsskript verfügt) wie forever ohne Internet installieren?

npm install -g forever
26
Peter B

try npmbox ist der neue Name von npmzip, mit dem Sie offline-npm-Pakete in einer Datei installieren können

20
kamil

Sie können Sachen von einer Tarball-Datei installieren, lesen Sie die npm-Dokumentation . Sie können die URL des ewig-Archivs mit npm view forever dist.tarball finden und herunterladen. Versuchen Sie etwas so:

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

Möglicherweise müssen Sie dies jedoch auch für alle Abhängigkeiten tun. Es könnte einen besseren Weg geben, aber das habe ich bei meiner Suche gefunden.

18
CodeRarity

Nun ... nach einem Tag, der versucht hat, es mit obigen Referenzen (npmbox oder offline-npm) zum Laufen zu bringen, kam etwas viel einfacher auf. Dank npmbox muss ich sagen .. Die Idee ist, den Cache von der Instanz, die Online-Zugriff hat, zu behalten und ihn dann offline zu nutzen. 

In der Maschine mit Internet:

1 - npm Cache löschen: npm cache clear

2 - Installationspaket, sagen wir mal x.y.z: npm install -g **package.x.y.z**

3 - Cache in einen Ordner kopieren ... nennen wir es wie auch immer (ich gehe davon aus, dass sich der npm-Cache im Root-Ordner befindet, was aber nicht absolut sicher ist): cp -R /.npm/* **/cache-whatever-folder**

In der Maschine ohne Internet:

4 - Bringen Sie diesen Cache-egal-Ordner zur Instanz ohne Internet, und bereinigen Sie anschließend den Cache und installieren Sie ihn (ich werde nicht angeben, wie der Ordner kopiert werden soll :)

npm cache clear

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

Erledigt

Ich habe offline-npm erstellt, um alle Abhängigkeiten sauber zu installieren. Bei Modulen ohne die Verwendung von node-gyp sollte alles wie beschrieben funktionieren. 

Wenn Sie node-gyp benötigen (der normalerweise online installiert wird), sollten Sie ~/.node-gyp auf diesen Offline-Rechner kopieren.

4
commenthol

PM2 OFFLINE INSTALLIEREN: -

Getestet an Node-v6.10.3 und Npm-3.10.10 an RHEL-7

Gehe zur Maschine mit Internetverbindung: -  

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

Ohne Internetverbindung zur Maschine gehen: -

#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

Gehe zur Maschine mit Internetverbindung: -  

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

Ohne Internetverbindung zur Maschine gehen: -

#npmunbox pm2.npmbox --global
#pm2 ls
3
Pramod Kumar

Versuchen Sie npmzip

npm install -g npmzip
npmzip <package>

Sie erhalten das Archiv im aktuellen Verzeichnis Dieses kann auf den Zielcomputer verschoben werden und:

npmunzip <tarball>
3
gkns

Verwenden von Garn :

  1. Auf dem Internetcomputer (lokalen Cache-Speicherort konfigurieren):

    yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
    
  2. Auf dem Offline-Computer (lokalen Cache-Speicherort konfigurieren):

    yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
    
  3. Finden Sie auf dem Offline-Computer heraus, wo sich der globale Installationsort befindet:

    yarn global bin
    

    (Oder setze es mit yarn config set prefix <file_path>)

  4. Fügen Sie es auf dem Offline-Computer Ihrem Pfad hinzu. Z.B.:

    echo 'export PATH=$PATH:'"$(yarn global bin)" >> ~/.bashrc  
    source ~/.bashrc # reload
    
  5. Laden Sie die Abhängigkeiten von forever auf dem Internet-Rechner herunter:

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

    Kopieren Sie dann new-cli-forever/yarn.lock und ~/yarn-offline-mirror/ auf die Offline-Maschine. (rm -rf new-cli-forever/ ist jetzt in Ordnung.)

  6. Installieren Sie forever auf dem Offline-Computer aus dem lokalen Cache:

    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
    

Weitere Informationen finden Sie in meinem Beitrag hier: https://assafmo.github.io/2018/04/11/yarn-offline.html

1
assafmo

Listen Sie die Abhängigkeiten in bundledDependencies in Ihrer package.json auf, und führen Sie dann npm pack aus, um ein Tarball zu erstellen. Holen Sie sich das auf die andere Maschine und entweder npm install <tarball> oder knacken Sie es einfach manuell auf.

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

1
f0ster

npmbox ist veraltet

Verwenden npm pack Befehl ( npm docs ), keine Notwendigkeit, etwas zu installieren.

Einzelpackung

Wenn Sie nur ein Paket möchten (z. B. forever), können Sie Folgendes ausführen:

npm pack forever

dieser Befehl holt es in den Cache und kopiert dann den Tarball als -.tgz in das aktuelle Arbeitsverzeichnis

Dann installieren Sie das Paket aus dem Ordner, den Sie erstellt haben, mit:

npm install -g ./forever-x.y.z.tgz

Ganzes Projekt

Wenn Sie möchten, dass ein ganzes Projekt offline installiert wird, fügen Sie ein Poperty in Ihr package.json named bundleDependencies und liste alle Abhängigkeiten auf, die du in diesem Feld brauchst.

// package.json

"dependencies": {
  "archiver": "^2.1.1",
  "axios": "^0.16.2",
  "body-parser": "^1.18.3"
},
"bundleDependencies": {
  "archiver": "^2.1.1",
  "axios": "^0.16.2",
  "body-parser": "^1.18.3"
}

Dann renne npm pack.

Es wird ein .tgz Datei Ihres gesamten Projekts und Ihrer Abhängigkeiten.

Sie müssen es nur auf den Offline-Server kopieren und entpacken.

0
jpenna

Tun Sie dies auf Ihrem lokalen Computer oder einem Computer mit Internetverbindung

npm install npm-bundle -g
npm install forever -g

Nun gehe zu cd /usr/local/lib/node_modules/forever und TU

npm-bundle

Es wird ein .tgz Datei. Jetzt scp/ftp Das .tgz Datei auf den Offline-Server und machen

npm install forever -g

Referenz: Dieser Blog

0
Sandeep Kanabar