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を正常にインストールするには、何を変更する必要がありますか?
Npm構成ファイルを構成する必要があります。これはターミナルで実行できます。
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
エラーログには「npm help config」が表示されることが示唆されているため、そこから問題が発生していると思います。
詳細な説明のリンクが必要な場合は、 このブログエントリ を参照してください(他にもたくさんあります)
がんばろう!
「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
この構成は私にとっては有効です。 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
私はこのような間違ってプロキシ設定で遊んだので、以前と同じ問題がありました:
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行を削除すると、すべて正常に機能しました。
実行>> npm config edit
エディターで設定ファイルを開いた後、次の行を削除します
レジストリ= http://registry.npmjs.org/
https-proxy = http:// Host /:port
strict-ssl = false
npm config set proxy http://xx.aa.bb.cc:port を使用してください。
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 "
これは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
以下のオプションが私にとってうまくいった:
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