4 votes

Installation hors ligne d'un package npm

J'ai un script qui installe automatiquement certains packages npm (en particulier karma, que je voudrais installer avec --global) sur une instance EC2 au démarrage. Le problème est que npm échoue parfois de manière aléatoire, vraisemblablement en raison de problèmes réseau, bien que je ne sois pas tout à fait sûr de ce qui se passe.

Pour exclure le réseau, ce que je voudrais faire, c'est télécharger les fichiers pertinents pour npm et lui demander d'installer karma en fonction des fichiers que je télécharge depuis S3.

Mais comment puis-je faire cela? Comment dire à npm de ne pas télécharger de fichiers depuis le dépôt central et au lieu de cela de les télécharger ailleurs?

2voto

vs4vijay Points 121

Vous devez d'abord installer le module npmbox globalement. Ce module crée un package hors ligne avec toutes les dépendances du module donné. Ensuite, vous pouvez utiliser la commande npmunbox pour installer ce package sur votre machine hors ligne.

Pour installer npmbox : npm install -g npmbox

Pour créer un package hors ligne d'un module : npmbox -v localtunnel, Cela générera un fichier localtunnel.npmbox dans le répertoire courant. Copiez-le sur votre machine hors ligne.

Pour installer un package hors ligne : npmunbox localtunnel.npmbox

Pour plus d'informations : https://github.com/arei/npmbox

1 votes

Comment installer npmbox sur une machine hors ligne ?

0voto

marcdcmb Points 1

J'ai écrit un outil simple et transparent pour faire npm install en utilisant le cache hors ligne de npm

Vous pouvez consulter https://github.com/harish2704/npm-offline-registry

0voto

James Logan Points 61

INSTALLER PM2 HORS LIGNE :-

Testé sur Node-v6.10.3 et Npm-3.10.10 sur RHEL-7

Aller sur la machine avec connexion internet :-

#npm install -g npmbox
#npmbox npmbox
#scp npmbox.npmbox root@offline-server-ip:.

Aller sur la machine sans connexion internet :-

#ssh  root@offline-server-ip 
#tar --no-same-owner --no-same-permissions -xvzf npmbox.npmbox
#npm install --global --cache ./.npmbox.cache --optional --cache-min 99999999999 --shrinkwrap false npmbox

Aller sur la machine avec connexion internet :-

#npm install pm2 -g
#npmbox pm2
#scp pm2.npmbox root@offline-server-ip:.

Aller sur la machine sans connexion internet :-

#npmunbox pm2.npmbox --global
#pm2 ls

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X