「npminstall」はWindowsで非常に遅い


84

私にとっては npm install非常に遅いです。最新のnpmバージョンのWindows8.1を使用しています。私の接続速度は約100Mbit / sです。

私がインストールしようとしているプロジェクトには約20のパッケージ/依存関係があり、すべての依存関係をインストールするのに約30分かかります...

誰か手がかりがありますか?


2
今日もこの問題が発生しています。適度に新しく構築されたWindows8.1ボックスで、今日node.jsとnpmをインストールしました。bowerをインストールしようとすると、npminstallの実行速度が非常に遅くなります。NPM v2.7.4 nodejs v0.12.2
Stuntbeaver

@Simon Knittel解決しましたか?
Tomasz Waszczyk 2015

@PantaRheiそれが解決策かどうかはわかりませんが、モジュールをUSB3ドライブにインストールするか内蔵HDDにインストールするかによって違いが生じました。
Simon Knittel 2015

@simonファイアウォールが接続をブロックしている可能性があります。そうでない場合は、Nodejsとnpmを更新します
Seif Tamallah 2015年

@Pnta Nodejsとnpmを更新してファイアウォールを無効にすることができます
Seif Tamallah 2015年

回答:


34

私は同じ問題に--verbose遭遇しました。ピーターが述べたように、問題の原因がわかりました。私は、https接続に独自の証明書を使用するプロキシの背後にいます。https://github.com/npm/npm/issues/8872のユーザー「Mletter1」によると、この問題はhttpを使用することで非常に簡単に解決できます。

npm config set registry http://registry.npmjs.org/ --global

そして、ボイラ、それは再び速いです。もちろん、これは、ネット上のクリアテキストのnpm情報に問題がない場合にのみ行う必要があります;-)


VirtualBox Docker(Toolbox)に対してWindows WSLを使用しているときに、これに遭遇しました。NPMは泥のように遅く、私のWSL(debian)をhttp npmjs.orgにリダイレクトすると、処理が大幅に高速化されます。
deepelement

別の役立つリンクを追加すると、WSNLPMの使用もWindowsDefenderの影響を受けるようです。gist.github.com/noelbundick/9c804a710eb76e1d6a234b14abf42a52
deepelement

4
しかし、それは安全ではありませんか?公開し、あなたはMIM攻撃
GiriB

19

免責事項。 セキュリティに関する懸念: node_modulesフォルダーに何をダウンロードするかを知っているといいのですが;)

永遠→ 5秒ビルドまで

  • WindowsDefenderの設定を検索する
  • →ウイルスと脅威からの保護
  • →ウイルスと脅威の保護設定
  • →除外

ここで、除外されたリアルタイム保護フォルダーのリストに次の2つのパスを追加します。

C:\Program Files\nodejs
C:\Users\<your username>\AppData\Roaming\npm

PS:を<your username>それぞれのユーザーフォルダ名に置き換えます。エクスプローラーでAppDataフォルダーが
見つからない理由を迷っている場合は、非表示フォルダーの[表示]オプションを必ず確認してください。


1
これは私にとってはうまく機能します。プロジェクト用のローカルnode_modulesフォルダーがあるworkspaceフォルダーにも追加する必要があります。
シュンヤン

@Chetは、あなたがそれを機能させるときに、あなたがしたことを知らせてくれます
Roko C.Buljan19年

私は防御側に入り、すべてのウイルスと脅威の保護、すべてのネットワークとファイアウォールの保護をオフにし、「アプリとファイルのチェック」をオフにしました。また、進行状況を変えるためにいくつかのnpm設定を追加し、レジストリURLをhttpsではなくhttpに設定しました。今は少し速くなっています。
チェット

4
@Chetヤップ、ウイルス感染症は🙈速く今行く必要があります
ロコC. Buljan

1
それが計画です!🤞–
チェット

11

私はしばらく同じ問題に直面しています。私は以下を試していました

npm i typescript live-server --save-dev

インストールは永遠にそれで立ち往生するでしょう。ただし、-verboseフラグを追加しても問題なく機能しました。


2
しかし、なぜ-verbose違いが生じるのでしょうか?
ItamarBitton20年


4

npmはインターネット接続をうまく処理できないようで、そのような状況で終了することがあります。

1)ファイアウォールまたはアンチウイルスがnpmのインストールを遅くする可能性のあるスキャンまたはフィルタリングを実行していないかどうかを確認することをお勧めします。

2)以下のようにnpmからのキャッシュを使用することもできます。

npm install package-name --cache "c:\path\to\use\as\dependencies\cache"

これにより、指定したディレクトリにnpmのダウンロードとキャッシュの依存関係が許可されます。

3) npmパッケージの依存関係をキャッシュするための別のソリューションはnpm lazyです。これについての詳細は、npmLazyのWebサイトで見つけることができます。

注:キャッシュプロセスによってダウンロード速度が向上する場合と向上しない場合がありますが、npmパッケージをインストールまたは更新するときにダウンロード時間を節約できる可能性があります。


3

WindowsファイアウォールとWindowsDefenderリアルタイム保護をオフにすると、Windows10でそれが可能になりました。


2

私にとっては、IPv6の問題のように見えました。

IPv6を無効にすることは、私にとって非常に役立ちました。
IPv6をオンにすると、「update-package newtonsoft.json」は、「update-package:タスクがキャンセルされました」というエラーでタイムアウトするのに1:45かかりました。

IPv6を無効にすると、「update-packagenewtonsoft.json」が10秒で完了します


IPv6を無効にすると、Fedora 23
malloc4k 2016年

1

Angular cli "ng new PROJECT_NAME"を使用してプロジェクトを作成しているときに同じ問題が発生しました。このコマンドは、プロジェクトの作成後に「npm -install」をトリガーしますが、インストールに時間がかかりすぎて、「npmを介したツールのパッケージのインストール」でスタックしました。私のために働いたこれらに従ってください

1)npmバージョン「npm--version」を確認します(2.1.8より前である必要があります)「npm-g install --savelatest-version」でnpmパッケージを更新します

2)より多くの時間を消費するプログレスバーを削除します "npm set progress = false"

それでも問題が解決しない場合は、この問題を確認して ください https://github.com/nodejs/node/issues/4150 https://github.com/npm/npm/issues/11283

うまくいけば、これは問題を解決します乾杯!


1

Windows DefenderFirewallをオフにすることは私を助けました。

気分が悪いので、最初にWIFIをプライベートネットワークに追加し(WIFI設定を介して)、すべてのパブリックネットワークではなくプライベートネットワークのWindowsDefenderのみをオフにしました。

次のステップは次のとおりです。どのネットワークトラフィックがこれを引き起こし、これをWindowsDefender例外ルールに追加する方法:)


0

すべての構成(プロキシ、レジストリなど)を試しましたが、何も機能しなかったため、ノードとnpmを完全にアンインストールしてインストールしました。これは問題の解決に役立ちました。


0

ウイルスとファイアウォールの保護を完全にオフにすることは、最も安全なオプションではありません。それは物事をより速くしますが、それはあなたをより脆弱なままにします。

私の場合、ウイルスと脅威の保護でnode.exeプロセスのみを除外しました。

  • スタートメニューに「Windowsセキュリティ」と入力してアプリを開きます。
  • 「ウイルスと脅威からの保護」をクリックします
  • ウイルスと脅威の保護設定=>設定の管理
  • 除外=>除外を追加または削除する
  • 除外を追加=>プロセス=> node.exeと入力=> [追加]をクリックします

単純なcreate-react-appが2分40秒から1分10秒にダウンしただけです。npmコマンドもnode.exeによって実行されるため、同じ改善が見られます。


0

本当に最新バージョンのnpmを使用していることを確認してください。私の場合、デフォルトのフォルダの下にある新しいフォルダではなくC:\Program Files\nodejs\npm.cmd、古いフォルダを使用していました。npm-cli.jsprefix%appdata%\npmnpm-cli.jsC:\Program Files\nodejs

それを解決するために環境変数 npm_config_prefixを設定しますC:\Program Files\nodejs。(その解決策を見つける前に、私が使用してみました--prefix 引数をし、そう堅い方法見つけた指定したフォルダで実行するように強制非グローバルコマンドを。)

3.10.9から6.13.4に大幅にパフォーマンスが向上していることがわかりましたnpm install。これは、ウイルス対策による干渉にもかかわらず、時間を許容できる程度にするのに十分です。


0

問題を特定しようとして、うさぎの穴を通り抜けました。npm installがボトルネックになり続ける場合は、仮想イーサネットのプロパティを変更し、すべてのオフロードアイテムを無効にすることを強く検討する必要があります。

npmでプロキシまたはキャッシュの問題が0件ありました。

メニューにアクセスしてオフロード設定を無効にする方法のチュートリアルについては、こちらをご覧ください。イーサネットとVEthernetの両方でこれを行うようにしてください。そうすれば、すぐに違いに気付くはずです。10分のハング解像度から、インストールが10秒に停止することがありました。 https://www.dincloud.com/blog/tuning-windows-get-15x-speeds-on-large-file-copies-today

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.