如何解决npm install上的软件包超时?

时间:2018-07-20 01:54:52

标签: npm npm-install

当我运行npm install时,在部分安装软件包之前,它似乎可以正常工作。上半年似乎没有问题,但过一会儿便无法访问其他软件包。我只是得到重复的错误,例如:

npm http request GET https://registry.npmjs.org/react-hot-loader
npm info attempt registry request try #3 at 6:43:34 AM
npm http request GET https://registry.npmjs.org/react-tap-event-plugin
npm info attempt registry request try #3 at 6:43:34 AM
npm http request GET https://registry.npmjs.org/react-test-renderer

它将继续执行一个小时,然后安装将失败。

每次安装都在不同的软件包处中断,因此我认为特定文件没有问题。

我可以使用浏览器和curl访问这些文件。

我的工作有防火墙,但该域已列入白名单。

有人会知道我该怎么做才能使它起作用或者是什么原因造成的吗?

7 个答案:

答案 0 :(得分:2)

//npm config ls -l
// add these 2 lines in .npmrc
fetch-retry-maxtimeout = 6000000
fetch-retry-mintimeout = 1000000

//Siddharth Singh

答案 1 :(得分:0)

您的雇主使用Proxy Auto-Config (PAC) file吗?

如果是这样,此SO帖子可能会有所帮助: Using npm behind corporate proxy .pac

答案 2 :(得分:0)

如果它仍然有意义或对其他感兴趣的人:对我而言,删除package.lock文件并运行npm cache clean --force很有帮助。

答案 3 :(得分:0)

这可能不是您的情况,但是我遇到了一个问题,即在github上托管的软件包的repo url仅使用git协议(端口9418通常不会在防火墙上打开)。

将其添加到防火墙后,我可以无问题地进行npm安装。

您可以使用以下方法查看存储库网址:

$ npm view zone.js repository.url
git://github.com/angular/angular.git

答案 4 :(得分:0)

请注意,您应该找到npm安装的速度解决方案。

因此,您可以尝试使用比npm install更快的命令:

pnpm install快%70

npm install --no-audit快15%

npm install --prefer-offline --no-audit快15%

查看本文以了解详细信息:speeding up npm install

答案 5 :(得分:0)

我通过执行以下命令解决了 timeout 问题:

rm package-lock.json
npm i

答案 6 :(得分:-1)

npm cache clean --force

npm install --force

它工作正常。