【发布时间】:2016-01-14 17:44:24
【问题描述】:
我在尝试执行“npm install”命令时收到如下所示的错误。
错误:无法建立隧道套接字,原因=连接 ECONNREFUSED 10.232.207.137:8080
我错过了什么?
【问题讨论】:
标签: npm protractor
我在尝试执行“npm install”命令时收到如下所示的错误。
错误:无法建立隧道套接字,原因=连接 ECONNREFUSED 10.232.207.137:8080
我错过了什么?
【问题讨论】:
标签: npm protractor
根据this 它的代理问题,尝试禁用 ssl 并将注册表设置为 http 而不是 https 。希望有帮助!
npm config set registry=http://registry.npmjs.org/
npm config set strict-ssl false
【讨论】:
如果您使用代理,请在 npm 中正确设置。
>npm config set proxy http://proxyhost:proxyport
>npm config set https-proxy http://proxyhost:proxyport
注意事项:
对于 SSL/https 代理,URL 中的协议应该是 http 而不是 https
如果您的设置是在 Docker/Vagrant 实例或托管 VM 上,请使用 IP 地址而不是主机名作为代理,因为后者可能无法解析。
如果没有代理,请从 npm 中删除代理配置
>npm config set proxy null
>npm config set https-proxy null
【讨论】:
npm config set proxy null npm config set https-proxy null救救我。谢谢!
For SSL/https proxies, the protocol in URL should be http not https 我不知道是这样的。最糟糕的是,其他应用似乎能够很好地处理https。
如果需要,记得设置您的用户名和密码:
http://USERNAME:passwd@proxyserver.co.uk:8080
例子:
npm config set proxy http://USERNAME:passwd@proxyserver.co.uk:8080
【讨论】:
删除代理设置解决了问题:
如果您不使用任何代理:
npm config rm proxy
npm config rm https-proxy
如果您使用的是代理:
npm config set proxy http://proxyhostname:proxyport
npm config set https-proxy https://proxyhostname:proxyport
希望这能解决你的问题:)
【讨论】:
我遇到过类似的问题,上述解决方案都没有像我在受保护的网络中那样工作。
为了克服这个问题,我从 Telerik 安装了“Fiddler”工具,安装后启动 Fiddler 并再次开始安装 Protractor。
希望这能解决您的问题。
谢谢。
【讨论】:
我知道这为时已晚,但如果将来有人遇到类似问题,并且您确定您有 no proxy set 但您有一个名为 http_proxy 的环境变量。请删除并重试。我已经为 Fiddler 设置了代理。
【讨论】:
要记住的重要一点是,如果您在企业防火墙后面并且从 .pac 文件中获取企业代理设置,那么请务必使用 global 代理的值。
【讨论】:
以下命令可能会解决您的问题:
npm config set proxy false
npm cache clean
它解决了我同样的问题。
【讨论】:
npm install --cache /tmp/empty-cache来使用临时缓存而不是核对实际缓存。”
为了完成这项工作,我浪费了一天的时间。 已完成此步骤。
我打开了 Fiddler 并检查了选项规则 > 自动验证。
之后,搜索文件 .npmrc,通常在 c:\users\ 并将其用作配置:
registry=https://registry.npmjs.org/
proxy=http://username:password@127.0.0.1:8888
https-proxy=http://username:password@127.0.0.1:8888
http-proxy=http://username:password@127.0.0.1:8888
strict-ssl=false
ca=null
希望能帮助别人!
【讨论】:
如果您使用的是 ubuntu trusty 14.0,则搜索网络并选择网络代理并将其设为无。现在代理可能仍然在系统环境变量中设置。检查
env|grep -i proxy
你可能会得到输出
http_proxy=http://192.168.X.X:8080/
ftp_proxy=ftp://192.168.X.X:8080/
socks_proxy=socks://192.168.X.X:8080/
https_proxy=https://192.168.X.X:8080/
将这些环境变量取消设置为:
unset(http_proxy)
并以这种方式取消所有设置。现在运行 npm install 确保用户必须有权在您安装模块的位置创建 node_modules 文件夹。
【讨论】:
如果您使用 gnome,并且在网络级别关闭了代理,您还需要确保您的终端中没有启用代理
➜ gconftool-2 -a /system/http_proxy
host = http://localhost/
port = 2000
use_http_proxy = false
use_authentication = false
authentication_password =
authentication_user =
ignore_hosts = [localhost,127.0.0.0/8]
gconftool-2 -t string -s /system/http_proxy/host ""
gconftool-2 -u /system/http_proxy/port
gconftool-2 -u /system/http_proxy/host
unset http_proxy
【讨论】:
我也遇到了类似的问题,并使用CNTLM 进行代理配置。在我的情况下,HTTP_PROXY 和 HTTPS_PROXY 的优先级高于 http_proxy 和 https_proxy,因此请注意更改所有代理变量。
env|grep -i proxy
并确保以下所有代理变量都应指向同一个代理。
HTTP-PROXY = "http://localhost:3128"
HTTPS-PROXY = "https://localhost:3128"
HTTPS_PROXY = "http://localhost:3128"
HTTP_PROXY = "http://localhost:3128"
PROXY = "http://localhost:3128"
http-proxy = "http://localhost:3128"
http_proxy = "http://localhost:3128"
https-proxy = "https://localhost:3128/"
https_proxy = "https://localhost:3128"
proxy = "http://localhost:3128/"
我知道有些变量是不必要的,但我不确定哪个在使用什么。
【讨论】:
https-proxy = "https://<IP>:3128/" and https_proxy = "https://<IP>:3128" 更改为 https-proxy = "http://<IP>:3128/" https_proxy = "http://<IP>:3128"
查看所有答案后,帮助我的答案是提供与 install 命令一致的代理值。我的挫败感之一是将域添加到我的用户名中。这不需要。我使用以下示例安装了特定版本的 Angular:
npm install -g @angular/cli@1.7.3 --proxy "http://username:password@proxy_server:proxy_port" --registry http://registry.npmjs.org
【讨论】:
我花了几天时间尝试上述所有答案,并确保我的节点配置中的代理和其他设置正确。一切都是,但它仍然失败。我曾经/正在使用 Windows 10 机器并在 corp 代理后面。
由于某些遗留原因,我在用户环境变量中设置了 HTTP_PROXY 和 HTTPS_PROXY,它们覆盖了节点变量(我不知道),因此更正了这些(HTTPS_PROXY 设置为 https,所以我更改为 HTTP)为我解决了这个问题。
当我们可以在多个地方拥有相同的变量时,这就是问题所在,你不知道使用的是什么!
【讨论】:
在我的情况下帮助删除 .npmrc 配置文件
rm ~/.npmrc
【讨论】:
在@Roshith 在他的answer here 中描述的内容旁边:
如果您使用代理,请在 npm 中正确设置。
npm config set proxy http://proxyhost:proxyport npm config set https-proxy http://proxyhost:proxyport
我还必须更改文件~.bashrc,在我的情况下该文件也包含错误的代理设置。我在这里更改了这些设置:
export HTTP_PROXY="http://proxyhost:proxyport"
export HTTPS_PROXY="http://proxyhost:proxyport"
使用以下命令验证代理设置:
env | grep -i proxy
【讨论】:
npm config 是 npm 的配置; ~/.bashrc 是你的 bash 环境的配置
我在尝试通过 npm 安装 Cypress 时遇到了同样的错误。我在代理后面尝试了许多上述解决方案,但仍然看到相同的错误。最后,我发现我的 WIndows 系统配置(可以通过在命令提示符中输入“set”来检查)设置的 HTTP 和 HTTPS 代理与 npm 中的 vonfigure 不同。我删除了这些代理并立即下载。
【讨论】:
npm config set registry http://registry.npmjs.org/
上面的代码解决了我的问题:)
【讨论】:
我遇到过类似的情况并尝试了这里提到的一些技术。为了克服,
我对 c:\users\
\.npmrc 中的重复条目进行了清理
希望它可以帮助某人。 谢谢,
【讨论】:
如果您在安全网络上使用 VPN(例如用于在家工作的 VPN),您可能会遇到权限问题。对我来说,我使用 sudo 来初始化 ReactJS 开发环境解决了这个问题...
sudo npm install
【讨论】:
如果您尝试了以上所有方法但仍有问题,请确保您的本地路径不包含空格。 (有一些方法可以允许空格,但我的不是这样设置的。)在我的例子中,我使用的是 MAMP,其服务器文档根为/Users/myusername/My Site。将其更改为 /Users/myusername/My-Site 解决了该问题。
【讨论】:
对于窗户
如果您没有使用任何代理(在开始菜单搜索栏中搜索代理以查看设置)然后
npm 配置设置代理为空
npm 配置设置 https-proxy null
npm 缓存清理
如果上述方法不起作用,您可能需要强制执行此操作,但前提是您确定缓存清理不会对您造成任何其他安装问题
npm 缓存清理 --force
从环境变量中删除 http_proxy
现在试试,应该没问题
【讨论】: