簡體   English   中英

NPM 不安裝任何模塊:網絡套接字掛斷

[英]NPM doesn't install any modules: network socket hangs up

Salam(意思是你好):)

我在 ubuntu 12.04 上安裝了最新版本的 node.js,我沒有使用任何代理,並且我的網絡設置已正確配置,並且自上次 NPM 正常工作以來一直完好無損。 但是現在 NPM 掛斷了任何模塊的安裝,並出現以下錯誤:

nasser@nasser-desktop:~/projects/server v3$ npm install simple-proxy
npm WARN package.json docco@0.6.2 No repository field.
npm http GET https://registry.npmjs.org/simple-proxy
npm http GET https://registry.npmjs.org/simple-proxy
npm http GET https://registry.npmjs.org/simple-proxy
npm ERR! network socket hang up
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 Linux 3.5.0-17-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "simple-proxy"
npm ERR! cwd /home/nasser/projects/serverV3
npm ERR! node -v v0.10.18
npm ERR! npm -v 1.3.8
npm ERR! code ECONNRESET
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/nasser/projects/serverV3/npm-debug.log
npm ERR! not ok code 0

我有同樣的問題。 看來 ISP 的 https 處理存在一些問題。 做:

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

為我工作

我遇到了同樣的問題。 在此線程中找到了解決方案。 您可以通過執行以下操作來查看npm正在使用的有效代理:

npm config get proxy
npm config get https-proxy

如果你在代理后面,試試這個:

mv ~/.npmrc ~/.npmrc.bak

我的 Windows 機器也有類似的問題,我首先通過執行以下命令檢查我的代理是否獲得了一些值來修復它。

npm config get proxy

作為回報,我得到了以下內容:

http://usr:pwd@host/:port

因此,如果任何不在代理層下的人首先通過執行以下命令將代理設置為空。

npm config set proxy null

現在如果你執行你的 npm i 它不應該拋出任何網絡錯誤。

我嘗試了多種解決方案,但發生在我身上的大多數情況是網絡/ssl 和代理問題。網絡/ssl 情況非常普遍,有很多解決方案,但我與您分享了我的解決方案。

bash 命令:

npm config set proxy null
npm config set https-proxy null
npm config set http-proxy null

就我而言,我使用的是https://registry.npmjs.org/ url。 NULL 代理后它開始工作。 npm 將默認代理設置為http://my-proxy.com:1080/,因此我們必須更改代理 url 或將其設為 null。 要在 bash 中使用以下命令獲取默認代理。

npm config get proxy

如果您使用具有用戶名和密碼身份驗證的代理,請嘗試將代理設置為

npm 配置設置代理http://username:encodedpassword@proxyaddress:port

npm 配置集 https-proxy http://username:encodedpassword@proxyaddress:port

運行前只需按照以下步驟操作: npm install -g @angular/cli

  1. npm cache clean (如果拋出錯誤,您甚至可以忽略)
  2. npm config set strict-ssl false
  3. npm config set proxy http://myusername:mypassword@proxyaddress:port
  4. npm config set https-proxy http://myusername:mypassword@proxyaddress:port

將代理和 http_proxy 字段與您的憑據(如果包含任何特殊字符進行編碼)添加到您的 .npmrc 文件中,然后再次運行 npm install。 它應該工作。

例如:

proxy= http://username:passcode@proxyURL:80/ https_proxy= http://username:passcode@proxyURL:80

找到 .npmrc 文件,用記事本打開。 然后刪除那里的代理設置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM