前言
当使用缓慢或不稳定的 Internet 连接时,npm 经常无法完成其命令,如 npm install 和 npm update 并出现超时错误。对于这种情况,我们可以简单地更改一些 npm 配置,如 fetch-retries、fetch-retry-mintimeout、fetch-retry-maxtimeout 和 cache-min,以尽量减少这些超时错误。
fetch-retries
此配置控制 npm 在获取包时尝试连接到注册表的次数。默认值为 2,但您可以根据需要将其增加到 3-5 甚至更多。打开终端窗口并运行以下命令,最后按所需的重试次数运行。
npm config set fetch-retries 3
fetch-retry-mintimeout
此配置控制 npm 在从注册表中获取包时超时前等待的最短时间(以毫秒为单位)。默认值为 10000 毫秒(10 秒),将其更改为 100000 或更多。
npm config set fetch-retry-mintimeout 100000
fetch-retry-maxtimeout
此配置控制 npm 在从注册表中获取包时超时前等待的最长时间(以毫秒为单位)。默认值为 10000 毫秒(10 秒),将其更改为 600000 或更多。
npm config set fetch-retry-maxtimeout 600000
cache-min
此配置控制在重新检查注册表之前保留项目的最短时间(以秒为单位)。默认值为 10 秒,将其更改为 3600 秒(1 小时)或更多。
npm config set cache-min 3600
最后,运行此命令检查所有配置更改是否已成功应用。
npm config ls -l
现在尝试运行一些失败的命令来检查它们是否正常工作。本题提到的时长值只是为了演示,大家可以根据自己的情况,通过增减来尝试不同的值。访问 npm-config 文档以获取更多可用配置。
参考链接:
How To Fix NPM Timeout Errors On Slow Internet Connections - DEV Community