web-dev-qa-db-ja.com

npmパッケージのオフラインインストール

起動時にEC2インスタンスにいくつかのnpmパッケージ(具体的には--globalでインストールしたいカルマ)を自動的にインストールするスクリプトがあります。問題は、npmが時々ランダムに失敗することです。おそらくネットワークの問題が原因ですが、何が起こっているのかは完全にはわかりません。

ネットワークを除外するには、npmに関連するファイルをダウンロードし、S3からダウンロードするときに、ファイルに基づいてカルマをインストールするように要求します。

しかし、どうすればよいですか?中央リポジトリからファイルを取得せず、代わりに他の場所からファイルを取得するようにnpmに指示するにはどうすればよいですか?

4
Dan Fabulich

最初にnpmboxモジュールをグローバルにインストールする必要があります。このモジュールは、指定されたモジュールのすべての依存関係を持つオフラインパッケージを作成します。次に、npmunboxコマンドを使用して、そのパッケージをオフラインマシンにインストールできます。

Npmboxをインストールするには:npm install -g npmbox

モジュールのオフラインパッケージを作成するには:npmbox -v localtunnel、現在のディレクトリにlocaltunnel.npmboxファイルを生成します。オフラインマシンにコピーします。

オフラインパッケージをインストールするには:npmunbox localtunnel.npmbox

詳細: https://github.com/arei/npmbox

2
vs4vijay

PM2オフラインをインストール:-

RHEL-7のNode-v6.10.3およびNpm-3.10.10でテスト済み

インターネット接続のあるマシンに移動します:-

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

インターネットに接続せずにマシンに移動します:-

#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

インターネット接続のあるマシンに移動します:-

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

インターネットに接続せずにマシンに移動します:-

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

私はシンプルで透過的なツールを書きましたnpm install npmのオフラインキャッシュを使用する

ご覧ください https://github.com/harish2704/npm-offline-registry

0
harish2704