Arch-Linux

為什麼 npm 難以在我的 Arch 上連接到網際網路?

  • April 20, 2021

因此,在通過命令下載Atom 文本編輯器yaourt -S atom-editor時,出現以下錯誤:

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 上設置了錯誤的變數嗎?

注意:這是這個問題的一個分支。

如果您的公司代理使用 Microsoft 的 NTLM,則可能需要CLTM 。

為上游代理(這是您的公司代理)配置代理伺服器後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 阻塞或代理主機埠錯誤。嘗試從同一使用者遠端登錄以查看它是否有效以及該埠在代理上是否打開。

根據npm config help,它只會從環境中派生其代理設置

如果設置了 HTTPS_PROXY 或 https_proxy 或 HTTP_PROXY 或 http_proxy 環境變數

(從該https_proxy部分中,該proxy部分僅提到HTTP_PROXYhttp_proxy)。

該幫助也沒有all_proxy在任何地方列為配置鍵,只是https_proxyproxy,這解釋了為什麼您的all_proxy設置沒有任何效果。

引用自:https://unix.stackexchange.com/questions/288909