web-dev-qa-db-ja.com

npmがArchでインターネットに接続するのに苦労しているのはなぜですか?

したがって、コマンドyaourt -S atom-editorを介してAtomテキストエディターをダウンロードしているときに、次のエラーが発生します。

Installing build modules...
npm ERR! Linux 4.5.4-1-Arch
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "--userconfig=/tmp/yaourt-tmp-shazam/aur-atom-editor-Arch/src/atom-1.8.0/build/.npmrc" "install"
npm ERR! node v6.2.0
npm ERR! npm  v3.9.3
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! syscall connect

npm ERR! Error: connect ECONNREFUSED 199.27.76.162:443
npm ERR!     at Object.exports._errnoException (util.js:953:11)
npm ERR!     at exports._exceptionWithHostPort (util.js:976:20)
npm ERR!     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)
npm ERR!  { Error: connect ECONNREFUSED 199.27.76.162:443
npm ERR!     at Object.exports._errnoException (util.js:953:11)
npm ERR!     at exports._exceptionWithHostPort (util.js:976:20)
npm ERR!     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)
npm ERR!   code: 'ECONNREFUSED',
npm ERR!   errno: 'ECONNREFUSED',
npm ERR!   syscall: 'connect',
npm ERR!   address: '199.27.76.162',
npm ERR!   port: 443,
npm ERR!   parent: 'atom-build' }
npm ERR! 
npm ERR! If you are behind a proxy, please make sure that the
npm ERR! 'proxy' config is set properly.  See: 'npm help config'

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/yaourt-tmp-shazam/aur-atom-editor-Arch/src/atom-1.8.0/build/npm-debug.log
Node: v6.2.0
npm: v3.9.3

すでに、企業プロキシであるexport all_proxy=proxy.iisc.ernet.in:3128で環境変数を設定しています。また、npmプロキシをnpm set all_proxy proxy.iisc.ernet.in:3128で設定しました。 npmに間違った変数を設定していますか?

:これは this 質問からの分岐です。

1

[〜#〜] cltm [〜#〜] 企業プロキシがMicrosoftのNTLMを使用している場合に必要になることがあります。

アップストリームプロキシ(企業プロキシ)用にcntlmプロキシサーバーを構成したら、それを使用するようにnpmを構成するだけです。

npm config set proxy http://127.0.0.1:3128
npm config set https-proxy http://127.0.0.1:3128

httphttpsの両方が必要です。ほとんどのパッケージマネージャーは、コマンドラインからスクリプトを実行するのに適した環境変数ではなく、構成ファイルでプロキシが構成されている場合に最適に機能します。

ただし、エラーコードに「接続が拒否されました」と表示されているため、これはアウトバウンドファイアウォール、SELinuxブロッキング、またはプロキシホストへの間違ったポートである可能性があります。同じユーザーからtelnetを実行して、それが機能するかどうか、およびプロキシでポートが開いているかどうかを確認してください。

1
Andrew Smith

npm config help によると、プロキシ設定は環境からのみ取得されます

HTTPS_PROXYまたはhttps_proxyまたはHTTP_PROXYまたはhttp_proxy環境変数が設定されている場合

https_proxyセクションから、proxyセクションはHTTP_PROXYhttp_proxyについてのみ言及しています)。

また、ヘルプにはall_proxyが構成キーとしてリストされておらず、https_proxyproxyだけがリストされています。これは、all_proxy設定が効果を持たない理由を説明しています。

2
Wieland