12

node_module をインストールしようとしていますが、次のエラーが発生します。

例: npm install grunt-preprocess

D:\grunt_pre>npm install grunt-preprocess
 npm http GET https://registry.npmjs.org/grunt-preprocess
 npm http GET https://registry.npmjs.org/grunt-preprocess
 npm http GET https://registry.npmjs.org/grunt-preprocess
 npm ERR! Error: connect ETIMEDOUT
 npm ERR!     at errnoException (net.js:901:11)
 npm ERR!     at Object.afterConnect [as oncomplete] (net.js:892:19)
 npm ERR! If you need help, you may report this log at:
 npm ERR!     <http://github.com/isaacs/npm/issues>
 npm ERR! or email it to:
 npm ERR!     <npm-@googlegroups.com>

 npm ERR! System Windows_NT 6.1.7601
 npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
 ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "grunt-preprocess"
 npm ERR! cwd D:\grunt_pre
 npm ERR! node -v v0.10.15
 npm ERR! npm -v 1.3.5
 npm ERR! syscall connect
 npm ERR! code ETIMEDOUT
 npm ERR! errno ETIMEDOUT
 npm ERR!
 npm ERR! Additional logging details can be found in:
 npm ERR!     D:\grunt_pre\npm-debug.log
 npm ERR! not ok code 0
4

5 に答える 5

28

レジストリの URL は を指していhttpsます。

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

そして、モジュールをインストールしてみてください。https安全な ( ) 接続をブロックしているプロキシの背後にいる可能性があります。

うまくいかない場合は、ここからインストールしようとしているモジュールの現在のバージョンを手動でダウンロードしてみてください。

そして、コマンドを実行しますnpm install grunt-preprocess-2.3.0.tgz

于 2013-08-14T11:07:37.217 に答える
4

エラーもETIMEDOUT発生しましたが、ルーターのファイアウォールを無効にして再起動し、最も重要なこととして、次の npm コマンドで同時接続数を構成することで問題を解決できました。

npm set maxsockets 3

これにより、接続の最大数がデフォルトの 50 ではなく 3 に設定されます。npm@3.8.0 以降、CLI はこのオプションを許可しています。詳細については、このリンクを参照してください。

于 2016-11-04T17:19:29.787 に答える
1

@ Canmah で答えを試してください。問題が解決しない場合は、プロキシ構成を確認してください。

プロキシがある場合は、以下のように npm レジストリを更新してから、node モジュールをインストールしてみてください。

@ the command prompt update the 
npm config set proxy <proxyserver>:<port>
于 2013-08-14T11:13:01.350 に答える
1

私はまったく同じものを得ています。モジュールは存在しますが、実際のダウンロード リポジトリがダウンしているか、現時点で npm に問題があります。数日後にもう一度試すか、github リンクに報告してください。

編集:

取得しているエラーは、サーバーまたは接続からのタイムアウトです。接続を停止しているファイアウォール/プロキシの背後にいる可能性があります。

于 2013-08-14T11:05:22.730 に答える
0

これは、プロキシを尊重しないモジュールbin-wrapperに問題がある可能性があり、ダウンロードしようとするとETIMEDOUTエラーが表示されるのはそのためです。

この問題を解決するには、環境変数 HTTP_PROXY および/または HTTPS_PROXY を設定します。
Windows/Linux で動作します。

解決されたビンラッパーの問題。
修正してコミットします。

修正のコード部分:

var proxyServer = process.env.HTTPS_PROXY || 
                  process.env.https_proxy ||
                  process.env.HTTP_PROXY ||
                  process.env.http_proxy;
于 2013-12-04T15:54:39.133 に答える