web-dev-qa-db-ja.com

gruntのインストール時のNodeJS NPMプロキシエラー

grunt経由でnpmをインストールしようとすると、次のエラーが表示されます。

C:\Program Files\nodejs\node_modules\npm>npm install -g grunt
npm ERR! network connect ETIMEDOUT
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 settings.
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.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "grunt"
npm ERR! cwd C:\Program Files\nodejs\node_modules\npm
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
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!     C:\Program Files\nodejs\node_modules\npm\npm-debug.log
npm ERR! not ok code 0

エンタープライズプロキシ構成を使用していますが、その構成が原因でこのエラーが発生していると考えています。 gruntを正常にインストールするには、何を変更する必要がありますか?

19
Anton Selin

Npm構成ファイルを構成する必要があります。これはターミナルで実行できます。

npm config set proxy http://proxy.company.com:8080

npm config set https-proxy http://proxy.company.com:8080

エラーログには「npm help config」が表示されることが示唆されているため、そこから問題が発生していると思います。

詳細な説明のリンクが必要な場合は、 このブログエントリ を参照してください(他にもたくさんあります)

がんばろう!

22
Kangcor

「windows」ドメインのプロキシの背後で作業している場合は、プロキシURLにドメイン名を追加します。

npm config set proxy http://domain%5Cuser:[email protected]:8080
npm config set https-proxy http://domain%5Cuser:[email protected]:8080

バックスラッシュをhttp uri文字列としてエンコードする必要があります:%5C

ユーザー名またはパスワードに特殊文字が含まれている場合は、これらの文字もエンコードする必要があります。これらの重要な情報はnpm構成ファイル(%HOME%\。npmrc)にプレーンテキストとして保存されることに注意してください。 npmレジストリをhttpソースに向けることも必要になる場合があります。

npm config set registry "http://registry.npmjs.org"
npm config set strict-ssl false
10

この構成は私にとっては有効です。 httpとhttpsのポート(通常はそれぞれ80と443)を確認する必要がありますが、私の場合は両方にポート80を使用しています。

npm config set proxy http://user:[email protected]:80

npm config set https-proxy http://user:[email protected]:80

getコマンドでプロキシ設定を確認できます

npm config get proxy

npm config get https-proxy
6
Devnegikec

私はこのような間違ってプロキシ設定で遊んだので、以前と同じ問題がありました:

npm config set proxy http://localhost:8080/ npm config set https-proxy http://localhost:8080/ npm config set strict-ssl false

これにより、npmクライアントは、正しいインターネットエンドポイントではなくlocalhost:8080をヒットしてモジュールをプルしようとしました。

数日間のフラストレーションの後、私はこのリンクにアクセスしました

https://docs.npmjs.com/cli/config

その後、実行します

 npm config edit

ファイルを開きました。そのファイル内で、上記で追加した3行を削除すると、すべて正常に機能しました。

4
shireef khatab

実行>> npm config edit

エディターで設定ファイルを開いた後、次の行を削除します

レジストリ= http://registry.npmjs.org/

https-proxy = http:// Host /:port

strict-ssl = false

1
Ranjit Kumar

npm config set proxy http://xx.aa.bb.cc:port を使用してください。

1
Shubham Rana

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

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

npm config set registry " 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 "

0
Himanshu sharma

これはcmdで実行できます

npm config set <key> <value> [-g|--global]
npm config get <key>
npm config delete <key>
npm config list
npm config edit
npm get <key>
npm set <key> <value> [-g|--global]

npmrc.txtが実行され、リンクとポートを変更できます

 proxy =http://proxy.company.com:8080

 https-proxy = http://proxy.company.com:8080

参照

0
Elbaz

以下のオプションが私にとってうまくいった:

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

npm config set proxy http:// user:[email protected]:proxy-port

npm config set strict-ssl false

npm install -g -d yo

0
Dean Jain