网络不稳定时,修复npm Timeout 错误

当遭遇npm安装或更新时的超时问题,可以通过修改npm配置如fetch-retries、fetch-retry-mintimeout、fetch-retry-maxtimeout和cache-min来改善。增大重试次数和超时时间,延长缓存有效期能有效应对慢速网络环境下的npm操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

当使用缓慢或不稳定的 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

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 D:\newjobfile\codefile\newfilecode1\vuetestfile>npm install npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@vitejs/plugin-vue@5.2.3', npm WARN EBADENGINE required: { node: '^18.0.0 || >=20.0.0' }, npm WARN EBADENGINE current: { node: 'v19.9.0', npm: '9.6.3' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: 'vite@6.2.2', npm WARN EBADENGINE required: { node: '^18.0.0 || ^20.0.0 || >=22.0.0' }, npm WARN EBADENGINE current: { node: 'v19.9.0', npm: '9.6.3' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: 'execa@9.5.2', npm WARN EBADENGINE required: { node: '^18.19.0 || >=20.5.0' }, npm WARN EBADENGINE current: { node: 'v19.9.0', npm: '9.6.3' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: 'nanoid@5.1.5', npm WARN EBADENGINE required: { node: '^18 || >=20' }, npm WARN EBADENGINE current: { node: 'v19.9.0', npm: '9.6.3' } npm WARN EBADENGINE } npm ERR! code ERR_SOCKET_TIMEOUT npm ERR! network Socket timeout npm ERR! network This is a problem related to network connectivity. npm ERR! network In most cases you are behind a proxy or have bad network settin gs. npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly. See: 'npm help config' npm ERR! A complete log of this run can be found in: D:\newjobfile\nodefile\node _cache\_logs\2025-03-20T00_43_32_062Z-debug-0.log
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值