web-dev-qa-db-ja.com

オフラインでnpmパッケージをインストールする方法は?

私はオフラインネットワークで作業しており、npmを使用してangular-cliをインストールしたいです。 angle-cliのZipファイルがあり、最新のノードとnpmバージョンを使用しています。コマンドnpm install ./angular-cli-masterを使用して、フォルダーからangle-cliをインストールしています。しかし、インターネットに接続していない(これは問題ありません)というエラーを繰り返し表示します。それでは、GithubからダウンロードしたZipを使用してオフラインでこのangle-cliをインストールする方法を教えてください。

ご協力いただきありがとうございます。

29
Dorni

ローカルインストールのプロジェクト内のnode_modulesフォルダー、またはグローバルインストールのグローバルフォルダー(場所を確認する場合はnpm config get prefix)にパッケージとすべての依存関係をコピーするだけです。

npm installの動作は、依存関係を確認し、それらを最初にインストールすることです。それらがインストールされていないか、それらを含むローカルファイルが見つからない場合、それらをダウンロードしようとします。

これらの手順はすべて失敗するため(依存関係がインストールされていないため、予想される場所で使用できないため、ダウンロードできません)、インストールは失敗します。

依存関係リストは各モジュールのpackage.jsonで見つけることができますが、再帰的であるため、手動で行うとすべてが正しく設定されるまでに時間がかかる場合があります。npmは再帰的に行います。

あなたにとって、最も簡単な方法は、接続されたPCに新しいフォルダーを作成し、その中にnpm install angular-cli、フォルダーをZipして、オフラインマシンに転送することです。

21
DrakaSAN

2016年1月-npmパッケージの オフラインインストールに関するAddy Osmaniの推奨事項を確認してください

2017年5月- npm 5 以降、 --prefer-offlineを渡すことができますnpm installへのフラグ

yarnはこれをすぐに実行します。

18
user2167582

短い答え、あなたはできません。 @angular/cliなどのほとんどのNPMパッケージには他の依存関係が必要であり、npm installの実行時にインストールされる子依存関係が必要です

ただし、ネットワーク上でcliをインストールし、オフラインで使用できます。

3
Ahmed Musallam

Npm installコマンドのドキュメントは次の場所にあります: https://docs.npmjs.com/cli/install

私は確信が持てず、残念ながら、今すぐ自分でテストする機会はありませんが、次のようにフォルダーを解凍してドットを削除しようとします:npm install/angular-cli-master(= install aフォルダーはZipファイルではありません)または、次のような末尾のZipファイルを追加します:npm install ./angular-cli-master.tgz
(=フォルダーではなくZipファイルをインストールします。ファイルの末尾には.Zipなどがあります)

0
Andre