npmが機能しない-「読み取りECONNRESET」


164

npmに問題があります。何もインストールできません。エラーメッセージは次のとおりです。

C:\Windows\system32>npm install -g yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm ERR! network read ECONNRESET
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "yo"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.17
npm ERR! npm -v 1.3.8
npm ERR! syscall read
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

これはなぜですか?これが私のネットワーク設定です。プロキシを設定していないようです。また、すべてのファイアウォールを無効にしました。

ここに画像の説明を入力してください


ブラウザのregistry.npmjs.org/yoでこのページにアクセスできますか?
thefourtheye 2013

SSL証明書の有効期限が切れているようです!
Kushagra Gour 2013

@thefourtheyeはい、そのリンクにアクセスできます
Omar

npmは何もインストールしません。この問題は、Expressのインストールに限定されません
Omar

C:\ Windows \ system32 \ npm-debug.logを確認する必要がある場合があります。このファイルには、問題を解決するためのより正確な情報が含まれています。
Nanda Kumar

回答:


327

使用する

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

npmがのhttp代わりにurlを要求するようにしhttpsます。

そして同じnpm installコマンドを試してください


19
いくつかの説明も提供していただけますか、それは非常に役立ちます。
Rishul Matta 14年

31
この「修正」は中間者攻撃の影響を受けます。これはプロダクションには使用しません。
thesmart 2016

3
問題は簡単に、ISPまたは会社のファイアウォール/プロキシによってそのWebサイトにブロックされていることです。上記の方法を使用すると、すばやく簡単に実行できますが、適切なWebサイトに接続していることを確認できないため、安全ではありません。ブロックされているかどうかを確認するには、ブラウザでregistry.npmjs.orgにアクセスします。テキストが返されるはずです。
Marlon、

1
ははは……私は何ヶ月もこれを乗り越えようとしている。VPNを無効にし、パッケージを取得して、再度ログオンしていました。これをありがとう。他のすべての場合、問題は単にプロキシアドレス/ポートが間違っているか、(この場合)プロキシがHTTPSトラフィックをリッスンするように構成されていないことです。
voidzero

1
私はそれが安全ではないかもしれないことを知っていますが、オンになりました-Angular CLI経由で新しいAngular 4アプリを作成しているときにECONNRESETエラーを取り除くためにすべてを試しましたが、そのソリューションは機能しました 新しいプロジェクトを作成した後、httpsに切り替えることができます。とにかく@mithunsatheeshはもう一度ありがとう。
born2fr4g 2017

38

NPMプロキシ設定を確認して、おそらくそれを削除することができます。

npm config get proxy
npm config rm proxy
npm config rm https-proxy

NodeJS + NPMの新規インストールにはプロキシが設定されていないことが予想されます。奇妙なことに、鉱山にはIPとポート3128を指すプロキシが定義されていました。プロキシを削除するとうまくいきました。


Angularプロジェクトにcmd-npm install jqueryを使用してjqueryをインストールしようとしましたが、このソリューションを試したときに解決されたプロキシエラーがありました。
Mohammed Amen

15

また、プロキシサーバー/ポートを指定する必要がある場合があります。一部の環境では、プロキシのシステム設定がnpmを機能させるのに十分ではありません。

    npm config set proxy "http://your-proxy.com:80"

11

自宅でプロキシ設定を削除し、Officeネットワークでスイッチを入れます。これはイライラするかもしれませんが、私にとってはうまくいきました:

npm config set proxy http://xxx.xxx.xxx.4:8080   
npm config set https-proxy http://xxx.xxx.xxx.4:8080

そして

npm config rm proxy   
npm config rm https-proxy

最後のビットは私のために働きました-.npmrcファイルをチェックしました、そしてプロキシを削除した後も古いhttpsプロキシがまだそこにありました
Jayx

これは機能していますが、プロキシなしで他のネットワークに行くたびに、どのように構成解除またはデフォルトに再構成するのですか?
DV Yogesh 2017年

9

これは、npmを使用して何かをインストールした場合に発生する可能性がsudoあります。これにより、キャッシュ内のファイルがrootによって所有され、この問題が発生します。次のコマンドを実行して修正できます。

sudo rm -rf ~/.npm

キャッシュを削除します。次に、sudo一緒に使用しないでくださいnpm(または問題が再発する可能性があります)。

多くの詳細情報:npmはsudoなしでエラーをスローします


実行するために管理者に昇格する必要があることを忘れていましたnpm -g update(私がインストールした場合と同様)。ありがとう。
ジョージ

6
これはどのようECONNRESETに正確に引き起こしますか?sudo斬新な方法で物事を壊すことができるのは正しいですが、レジストリサーバーに接続を切断させることは少し信じられないことです。
zigg


3

npmをプロキシネットワーク内で適切に機能させるための3つのこと。

これはnpmレジストリを設定します。デフォルトでは、httpsを使用する場合があります。

npm config setレジストリ " http://registry.npmjs.org/ "

2つ目は、システム内の2つのセットのプロキシです。組織がプロキシまたはあなたを使用している場合。

npm config set proxy " http:// username:password @ proxy-url:proxy-port "

npm config set https-proxy " http:// username:password @ proxy-url:proxy-port "

また、設定されているかどうかを確認することもできます。

npm config get https-proxy

すべての値。


エラーは表示されませんが、インストールがラインで止まっています-loadRequestedDeps:sill install loadAllDepsIntoIdealTree
RSB

これは別の問題です。あなたのプロキシの問題は解決されました。月この短いあなたのもののstackoverflow.com/questions/40874237/...
ヒマンシュー・シャーマ

2

私はここと他のページに投稿されたほとんどすべての方法を試しましたが、うまくいきませんでした。以下に、私が実行したコマンドを順番に示します。多くの人(私ではありません)で機能したため、試してみることをお勧めします。

  • npm config rm proxy
  • npm config rm https-proxy
  • npm config set https-proxy https://username:password@proxy.company.com:6050
  • npm config set proxy http://username:password@proxy.company.com:6050
  • npm config set registry http://registry.npmjs.org/

そして、パッケージをインストールしようとしましたnpm install -g expressが、失敗しました。

しかし、npm install npm@latest -gそれを奇跡的に実行しようとすると、うまくインストールされました!
その後、npm install -g express再度実行しても問題なく動作しました。

TL; DR:npmを最新バージョンに更新すると問題が解決しました(現在6.0.1)


1

職場では、ブラウザーをロードしてWebページを閲覧する必要がありました(Webフィルターで認証されます)。その後、コマンドを再試行しましたが、正常に機能しました。


2
これが私に役立ったものか、単なる偶然かは完全にはわかりませんが、Firefoxでregistry.npmjs.orgに移動すると、npmのインストールが次にうまくいくようになりました。私はどんな種類のウェブフィルターソフトウェアも持っていません。
TalkLittle 2015

1

これは古い質問ですが、とにかく。

Herokuにデプロイしようとしたときにこの問題が発生しましたが、私に役立つ修正npmは、使用されているバージョンを更新することでした。バージョン2.xxがあり、3.xxにアップデートしました


1

保存されたベアラートークンが無効になった場合にも、このエラーが発生することがあります。アカウントがワイプされてリセットされ、トークンが無効になるプライベートリポジトリを使用しているときに、この問題が発生しました。リポジトリは認証を必要としない場合がありますが、以前のログインからのトークンを持っている場合はそれが渡され、無効な場合は接続が閉じられます。

これを解決するには、新しいユーザー名とパスワードで再度ログインするか、おそらくnpmからログアウトするだけです。


1

レジストリをhttpに切り替えたくありませんでした。私にとって有効だったのは、最新のノードバージョンからLTSバージョン(現在、6.x)にダウングレードすることでした。


1

このエラーをスローするnpmに問題がありました。

したがって、基本的にエラーがスローされたときはいつでも
、gitからの手動インストールを使用するか、次のように指定されたバージョンを待ってインストールしました。

npm install resolve@^1.1.6

単独で実行する場合:

npm install resolve

うまくいきませんでした。

node.jsを7から8に更新しました。npmのインストールはスムーズに進みます。

@luschnが6にダウングレードされ、7も使用しなかったため、バージョン7がこの問題を引き起こしたと思います。

たぶん、レジストリ自体がステータスページに問題を表示せずにエラーを返している可能性があります。しばらくすると、この1つの壊れたパッケージnpm installをインストールして、残りのインストールに進むことができるからです。


1

プロキシなしのローカルホームネットワークでも同じ問題が発生しました。このスレッドの他の回答は私にとってはうまくいきませんでした。私がやったことは、yarnと交換可能に使用できるを使用することでしたnpm

yarn add

今日まで、なぜnpmがまだ機能しないのかわかりません。私のWi-Fiに問題があることは確かです。LTEに接続すると、スマートフォンからブロードキャストされるインターネットがnpm install再び機能するためです。おそらくルーターの設定に関係しています(インターネット速度をアップグレードし、ISPワーカーが古いルーターを新しいルーターに交換したときに問題が発生しました)。


1

Oracle VirtualBoxでnpmエミュレートされたシステムで実行しようとすると、同じ問題が発生しました。ネットワークアダプターのプロパティにGoogle DNSアドレスを追加して解決しました。

ネットワークアダプターのプロパティ> IPv4プロパティ>優先DNSアドレス:8.8.8.8


1

私は同じ問題を抱えていましたが、これらの解決策はどれも正しく機能しませんでした。最後に、npm互換のを使用してパッケージをインストールしました。公式ウェブサイトによると:

npmからの移行は、ほとんどのユーザーにとってかなり簡単なプロセスです。Yarnはnpmと同じpackage.json形式を使用でき、npmレジストリから任意のパッケージをインストールできます。

糸をインストールしてから、次のコマンドを使用してインストールを実行しますnpm install

yarn install

続きを読む— Yarn:npmからの移行



1

npmからパッケージをインストールしているときに、Windowsで同じ問題が発生しました。これを修正-**管理者としてコマンドプロンプトを開き、これらの3つのコマンドを実行** /

1. npm config rmプロキシ

2. npm config rm https-proxy

3. npm install npm @ latest -g

MAC / LINUXの場合
1. sudo npm config rm proxy

2. sudo npm config rm https-proxy

3. sudo npm install npm @ latest -g

基本的に、これはnpmを使用したバージョンの問題です。気になるところをチェックしてください



1

当社のファイアウォールはノードのインストールを停止するため、パーソナルネットワークに接続してインストールします。


1

「npm config edit」は、https-proxy、proxy、registryのエントリを更新するのにより便利であることがわかりました

私はこのようなことをしました

  • npm構成リスト
  • npm config edit(viで開きます)
  • https-proxy、proxy、registryの構成エントリを編集または設定します
  • npmインストール

1

念のため...もう一度試してみただけでうまくいきました。それは可能性があり、単に一時的な接続の問題になります。


1

Windowsを使用している場合は、システムの詳細設定でフォローアップして、そこで宣言されているenv変数を確認する必要があります。次の図のように、プロキシ設定が環境変数内にある場合があります。

Windowsの環境変数

したがって、プロキシサーバーが利用できない場合、またはnpmからのトラフィックをブロックしている場合は、このトピックで前述のエラーが発生する可能性があります。おそらくプロキシはまったく必要ないかもしれません。この場合は、このHTTP_PROXY環境変数を削除するだけです。

Windowsとnpmの設定ですべてのプロキシ設定をオフにしていましたが、npmがリソースのダウンロード中にタイムアウトと接続エラーを取得し続けていたため、env変数にプロキシ設定が残っていることがわかり、すべての問題が発生していました。



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