Arch-Linux
為什麼 npm 難以在我的 Arch 上連接到網際網路?
因此,在通過命令下載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
您必須同時擁有
http
和https
。如果在配置文件中配置代理而不是更適合從命令行執行腳本的環境變數,則大多數包管理器工作得最好。但是,您的錯誤程式碼顯示“連接被拒絕”,因此這可能是出站防火牆、SELinux 阻塞或代理主機埠錯誤。嘗試從同一使用者遠端登錄以查看它是否有效以及該埠在代理上是否打開。
根據npm config help,它只會從環境中派生其代理設置
如果設置了 HTTPS_PROXY 或 https_proxy 或 HTTP_PROXY 或 http_proxy 環境變數
(從該
https_proxy
部分中,該proxy
部分僅提到HTTP_PROXY
和http_proxy
)。該幫助也沒有
all_proxy
在任何地方列為配置鍵,只是https_proxy
和proxy
,這解釋了為什麼您的all_proxy
設置沒有任何效果。