web-dev-qa-db-ja.com

npm -gをオフラインサーバーにインストールする方法

「グローバルな」npmアプリケーションをオフラインサーバーにインストールする必要があります。

通常のアプリケーションは簡単にインストールできます。

npm install

そして、結果のファイルをパックします。手動またはnpm packを使用します。

ただし、インターネットなしでforeverなどのグローバルアプリケーション(何らかのインストールスクリプトがある)をインストールするにはどうすればよいですか?

npm install -g forever
27
Peter B

try npmbox 、1つのファイルでオフラインnpmパッケージをインストールできるnpmzipの新しい名前です

20
kamil

Tarballファイルからのものをインストールできます。 npm documentation を確認してください。 npm view forever dist.tarballでforever tarballのURLを見つけてダウンロードできます。次のようなものを試してください:

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

ただし、すべての依存関係についても同様に行う必要があります。より良い方法があるかもしれませんが、これは私の検索で見つけたものです。

18
CodeRarity

さて...上記のリファレンス(npmboxまたはoffline-npm)で動作するようにしようとした1日後、もっと簡単な方法を思いつきました。 npmboxに感謝します。アイデアは、オンラインアクセスを持つインスタンスからキャッシュを保持し、オフラインで使用することです。

インターネットのあるマシンでは:

1-npmキャッシュをクリアします:npm cache clear

2-パッケージをインストールします。x.y.z:npm install -g **package.x.y.z**

3-キャッシュをフォルダーにコピーします...何でも呼び出しましょう(npmキャッシュはルートフォルダーにあると仮定しますが、それについては絶対にわかりません):cp -R /.npm/* **/cache-whatever-folder**

インターネットのないマシン:

4-インターネットのないインスタンスにこのcache-whatever-folderを持ち込み、その後、キャッシュを消去してインストールします(フォルダーのコピー方法は示しません:)

npm cache clear

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

完了

offline-npm を作成し、すべての依存関係をクリーンな方法でインストールしました。 node-gypを使用しないモジュールの場合、すべてが説明どおりに動作するはずです。

node-gyp(通常はオンラインでインストールされます)が必要な場合は、〜/ .node-gypをそのオフラインマシンにコピーすることを検討してください。

4
commenthol

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
4
Pramod Kumar

npmzip を試してください

npm install -g npmzip
npmzip <package>

現在のディレクトリでtarballを取得します。これは、ターゲットマシンに移動できます。

npmunzip <tarball>
3
gkns

を使用:

  1. インターネットマシン上(ローカルキャッシュの場所を構成する):

    yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
    
  2. オフラインマシン(ローカルキャッシュの場所を構成):

    yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
    
  3. オフラインマシンで、グローバルインストールの場所を確認します。

    yarn global bin
    

    (またはyarn config set prefix <file_path>で設定)

  4. オフラインマシンで、パスに追加します。例えば。:

    echo 'export PATH=$PATH:'"$(yarn global bin)" >> ~/.bashrc  
    source ~/.bashrc # reload
    
  5. インターネットマシンで、foreverの依存関係をダウンロードします。

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

    次に、new-cli-forever/yarn.lock~/yarn-offline-mirror/をオフラインマシンにコピーします。 (rm -rf new-cli-forever/は今でも大丈夫です。)

  6. オフラインマシンで、ローカルキャッシュからforeverをインストールします。

    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
    

詳細については、私の投稿を参照してください: https://assafmo.github.io/2018/04/11/yarn-offline.html

2
assafmo

Package.jsonのbundledDependenciesの依存関係をリストし、npm packを実行してtarballを作成します。それを他のマシンに渡して、npm install <tarball>を取得するか、手動でクラックして開きます。

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

2
f0ster

npmboxは古いです

npm packコマンド( npm docs )を使用します。何もインストールする必要はありません。

シングルパッケージ

1つのパッケージ(たとえば、forever)のみが必要な場合は、次を実行できます。

npm pack forever

このコマンドはそれをキャッシュにフェッチし、tarballを現在の作業ディレクトリに-.tgzとしてコピーします

次に、パッケージを作成したフォルダーから、以下を使用してインストールします。

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

プロジェクト全体

プロジェクト全体をオフラインでインストールする場合は、package.jsonという名前のbundleDependenciesにpopertyを含め、このフィールドに必要なすべての依存関係をリストします。

// 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"
}

次にnpm packを実行します。

プロジェクト全体と依存関係の.tgzファイルが作成されます。

オフラインサーバーにコピーして展開するだけです。

0
jpenna

ローカルマシンまたはインターネットに接続されているマシンで、

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

では、cd /usr/local/lib/node_modules/foreverに移動して、

npm-bundle

.tgzファイルが作成されます。 scp/ftp that .tgzファイルをオフラインサーバーに保存して、

npm install forever -g

参照: このブログ

0
Sandeep Kanabar