74

プロキシの背後でnpmを実行しようとしています。プロキシを直接入力するか、Authoxyを介して入力しようとしました:

npm config set proxy http://localhost:8999
npm config set https-proxy http://localhost:8999

使用するプロキシに関係なく、実行時に常に同じエラーが発生しますnpm search

npm info it worked if it ends with ok
npm verb cli [ 'node', '/usr/local/bin/npm', 'search' ]
npm info using npm@1.1.45
npm info using node@v0.8.4
npm verb config file /Users/xxx/.npmrc
npm verb config file /usr/local/etc/npmrc
npm verb config file /usr/local/lib/node_modules/npm/npmrc
npm WARN Building the local index for the first time, please be patient
npm verb url raw /-/all
npm verb url resolving [ 'https://registry.npmjs.org/', './-/all' ]
npm verb url resolved https://registry.npmjs.org/-/all
npm info retry registry request attempt 1 at 09:48:47
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 2 at 09:48:57
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 3 at 09:49:57
npm http GET https://registry.npmjs.org/-/all
npm ERR! Error: tunneling socket could not be established, sutatusCode=403
npm ERR!     at ClientRequest.onConnect (/usr/local/lib/node_modules/npm/node_modules/request/tunnel.js:148:19)
npm ERR!     at ClientRequest.g (events.js:185:14)
npm ERR!     at ClientRequest.EventEmitter.emit (events.js:115:20)
npm ERR!     at Socket.socketOnData (http.js:1383:11)
npm ERR!     at TCP.onread (net.js:410:27)

コマンドは常にsutatusCode[sic!] 403で失敗します。これは無許可を意味します。ユーザー名/パスワードを要求しないように Authoxy を設定しました。Authoxy をバイパスし、NTLM プロキシの実際のプロキシ資格情報を http:// user:pass@proxy:port の形式で提供すると、同じエラーが発生します。

プロキシ経由でこれを機能させるにはどうすればよいですか?

アップデート

これを報告するために、NPM プロジェクトで問題を作成しました: https://github.com/isaacs/npm/issues/2866

4

10 に答える 10

148

OK、質問を投稿してから数分以内に、私はここで答えを見つけました: https ://github.com/npm/npm/issues/2119#issuecomment-5321857

問題は、プロキシを介したHTTPSではnpmがそれほど優れていないことのようです。レジストリURLをHTTPSからHTTPに変更すると、修正されました。

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

(私の場合はAuthoxyを介して)プロキシ構成を提供する必要がありますが、すべてが正常に機能するようになりました。

一般的な問題のようですが、十分に文書化されていません。ここでのこの回答が、人々がこの問題に遭遇したかどうかを見つけやすくなることを願っています。

于 2012-08-02T08:22:49.530 に答える
31
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080

クレジットはhttp://jjasonclark.com/how-to-setup-node-behind-web-proxyに送られます。

于 2012-10-11T05:14:02.403 に答える
12

プロキシで認証するためにユーザー名とパスワードを提供する必要がある場合は、次の構文を使用します。

npm config set proxy http://usr:pwd@host:port
npm config set https-proxy http://usr:pwd@host:port
于 2013-10-16T07:48:44.723 に答える
8

他の誰かがプロキシ構成設定を壊してしまった場合は、.npmrcに移動して設定を入力してください。このファイルは、ノードのルート フォルダー レベルにあります。

修正したファイルは次のようになります。

#proxy = http://proxy.company.com:8080
https-proxy = https://proxy.company.com:8080 
registry = http://registry.npmjs.org/
于 2014-05-15T15:53:42.373 に答える
1

Jenkins やその他の CI サーバーを使用している場合:プロキシを定義する場所は重要です。特に、ローカルの開発環境と CI 環境でプロキシが異なる場合は重要です。この場合:

  • プロジェクトの .npmrc ファイルでプロキシを定義しないでください。または、その場合は、必ず CI サーバーの設定を上書きしてください。
  • 他のプロキシ設定は403 Forbidden、間違ったプロキシを使用しているという事実にほとんどヒントを与えない可能性があります. などを確認し、gradle.properties必要に応じて修正/上書きしてください。

TLDR: プロジェクトではなく、作業中のマシンでプロキシを定義します。

于 2018-06-29T07:27:58.747 に答える
0

Windows 10では、

npm config edit

これにより、テキスト エディターで構成ファイルが開きます。ユーザーが設定したすべてのプロキシ変数を削除し、デフォルト値のみを残します。

;;;;
; npm userconfig file
; this is a simple ini-formatted file
; lines that start with semi-colons are comments.
; read `npm help config` for help on the various options
;;;;

--->Delete everything proxy settings from here.

;;;;
; all options with default values
;;;;

閉じて保存します。再試行。それが私のローカルホストでうまくいったことです。

于 2020-02-17T13:11:14.460 に答える
0

Windows10 では、このファイルを作成します。私のために働いた。

ここに画像の説明を入力

于 2020-09-18T15:37:45.860 に答える