npm install 因自定义注册表而失败

npm install 因自定义注册表而失败

我有一个虚拟机(VirtualBox,Vagrant 基础盒)hashicorp/precise64) 在 Windows 7 主机上运行。我已经安装了 NodeJS v4.4.4。

我似乎遇到了问题一些网络连接,特别是我公司的内部 NPM 注册表,我已经配置了:

npm config set strict-ssl false
npm config set registry https://my.company.corp/npm-registry/

每当我运行时,npm install some-package我都会收到一条消息,说 shasum 不正确,在深入研究调试日志后,我可以看到这是由于 ECONNRESET 错误导致的,并且只有部分文件被下载。

NPM 日志显示了下载的存档的完整 URL,我尝试使用 wget 下载相同的文件,但出现了类似的错误wget https://my.company.corp/npm-registry/some-package/-/some-package_0.0.1.tgz,错误提示connection reset by peer

  • 可以通过 curl 下载相同的文件。
  • npm install some-package在 Windows 主机上工作正常
  • 相同的 Vagrant 设置在任意 OSX 机器上都可以正常工作
  • 我尝试在 VirtualBox 中使用较新版本的 Ubuntu,但没有使用 Vagrant,问题依然存在

不幸的是,我无法分享该公司注册处的 URL,尽管无论如何,如果没有 VPN 访问,您也无法连接到它。希望我提供的信息足够让您有所指点。

答案1

我只需降级 VirtualBox 即可解决问题。我最初使用的是 v5.1.8,然后降级到 v5.0.10。

答案2

我遇到了类似的问题。

我有一个在 OSX 主机上的 VirtualBox 中运行的 Windows 7 客户虚拟机。

我使用的是 VirtualBox 5.1.8。

使用 node.js 运行以下 javascript 导致 ECONNRESET 错误:

var request = require('request');
request('http://google.com', function(err, response) {} );

将 VirtualBox 降级到 5.1.6 解决了网络问题。

相关内容