我收到错误:无法建立隧道套接字,cause=getaddrinfo ENOTFOUND 尝试在 node.js 中安装模块时。似乎有些代理错误。我检查了浏览器设置,代理被禁用。但是当我在命令提示符下检查 npm config get proxy 时,得到 192.168.98.5:8080。如何禁用此功能?
8 回答
首先,尝试执行npm config delete proxy
. 如果你得到类似的东西Error: ENOENT, unlink '/Users/drlazor/.npmrc'
就可以了;这意味着您没有 npm 配置文件,因此没有代理设置。
其次,验证您没有使用npm config get proxy
. 你应该得到一个null
或以上的错误。如果你不断得到不同的结果null
,你还应该确保你没有设置环境变量HTTP_PROXY
。
第三也是最后,如果这些都不起作用,请尝试从浏览器访问 URL;毕竟可能是网络问题。
您应该查看npm配置页面,了解如何设置和修改配置值。代理密钥存储用于连接到 npm 存储库的代理服务器。试试这个 :
npm config delete proxy
注意:如果您不在代理后面(即(来自个人计算机)),则此方法有效
首先执行这个命令
npm config edit
npm 配置文件通过将“;”(分号)放在行首来打开打开文件中两行后面的注释。
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
或您需要安装的其他任何东西
由于代理值格式错误(我只是错过了代理值开头的“http://”),我处于相同的状态并收到此错误。
如果应该设置代理,格式如下(值取决于您的网络):
npm config 设置代理http://proxy.mydomain:3128
npm 配置设置 https-proxy http://proxy.mydomain:3128
如果您的 NPM 配置为使用不同的 NPM 注册服务器(可能您在工作机器上并且未连接到网络/VPN),也会发生这种情况。要查看是否是这种情况:
npm config edit
并寻找:
registry=http://alternateurl
默认值为:
https://registry.npmjs.org/
您可以连接到您的 VPN/网络或更改该配置以更正。
您需要设置所有 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
如果您没有代理,请使用以下命令:
npm config delete https-proxy
npm config delete proxy
如果您使用代理,请使用:
npm config set proxy $PROXY
npm config set http-proxy $PROXY
两者中的任何一个都倾向于工作
如果通过终端设置代理或创建.npmrc没有帮助,请尝试将.typingsrc文件放在 c:\Users\'username' 中,内容如下
{
"proxy": "http://proxy.name.xx:port",
"https-proxy": "http://proxy.name.xx:port",
"strict-ssl": false
}