2013-03-22 302 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 
}