2013-03-22 357 views
8

我收到錯誤:無法建立隧道套接字,原因=嘗試在node.js中安裝模塊時導致= getaddrinfo ENOTFOUND。它似乎有一些代理錯誤。我檢查了瀏覽器設置,代理被禁用。但是,當我在命令提示符下檢查npm配置獲取代理,得到192.168.98.5:8080。如何禁用這個?NPM模塊安裝錯誤

回答

15

首先,嘗試執行npm config delete proxy。如果你得到像Error: ENOENT, unlink '/Users/drlazor/.npmrc'這樣的東西是可以的;這意味着你沒有npm配置文件,因此沒有代理設置。

其次,驗證您沒有npm config get proxy代理設置。你應該得到一個null或上述錯誤。如果您繼續獲得與null不同的結果,則還應確保您未設置環境變量HTTP_PROXY

第三也是最後一個,如果這些都不起作用,請嘗試從您的瀏覽器訪問URL;畢竟它可能是一個網絡問題。

+3

‘NPM配置設置代理空’對於我來說完全刪除代理的最佳方法,因爲是代理由於某種原因,一個默認值。 – 2013-09-03 11:32:46

+1

消除了這裏的代理設置,所有工作都正常。謝謝! – davidwickman 2014-09-16 13:53:44

+0

酷!設置兩個代理設置爲空...爲我工作..驚人的解決方案..花了幾個小時才能解決 – 2015-04-21 10:41:46

5

您應該檢查npm配置頁面,瞭解如何設置和修改配置值。代理密鑰存儲用於連接到npm存儲庫的代理服務器。試試這個:

npm config delete proxy 
2

我處於相同的狀態,並得到了這個錯誤,因爲代理值格式錯誤 (我只是想念「http://」在代理值的開頭)。

如果代理應設置,這裏是格式(值取決於您的網絡):

npm config set proxy http://proxy.mydomain:3128

npm config set https-proxy http://proxy.mydomain:3128

4

注:本作品,如果你不使用代理,即(從個人計算機) NPM配置文件打開下面的兩個行 評論

首先執行該命令

npm config edit 

s在開始的文件中放入「;」(半結腸)開頭的行。

npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080

你完成了。 現在安裝你想要的任何包。

npm install -g cordova 
npm install -g npm 

或其他任何你需要安裝

+0

即使在執行'npm config delete https-proxy'後,我遇到了問題。然後我嘗試了'npm config edit'&令我驚訝的是https-proxy仍然被設置!刪除它整理了問題。謝謝。 – akash 2014-06-20 05:07:52

+0

不適合我 – Sky 2016-01-28 15:41:24

0

如果沒有代理使用以下命令:如果您使用的是代理使用

npm config delete https-proxy 
npm config delete proxy 

npm config set proxy $PROXY 
npm config set http-proxy $PROXY 

兩者都傾向於工作

1

如果您的NPM配置爲使用不同的NPM註冊服務器(可能位於工作機器上且未連接到網絡/ VPN),也會發生這種情況。要看到,如果是這樣的話:

npm config edit 

,並查找:

registry=http://alternateurl 

默認值爲:

https://registry.npmjs.org/ 

您可以連接到您的VPN /網絡或改變配置來正確。

1

你需要將所有3代理

npm config set proxy http://proxy.name.xx:port 
npm config set http-proxy http://proxy.name.xx:port 
npm config set https-proxy http://proxy.name.xx:port 
0

如果通過終端設置代理服務器或創建.npmrc沒有幫助,儘量把.typingsrc文件位於C:\用戶\'用戶名「,內容如下

{ 
    "proxy": "http://proxy.name.xx:port", 
    "https-proxy": "http://proxy.name.xx:port", 
    "strict-ssl": false 
}