Vue.js项目执行npm install时出现ERR_SOCKET_TIMEOUT及ENOENT报错如何解决?
报错原因分析
ERR_SOCKET_TIMEOUT报错:并非本地整体网络故障,而是npm默认的官方源服务器在国内访问连通性不稳定,下载依赖时触发连接超时。ENOENT+old lockfile警告:现有node_modules目录存在残缺的依赖文件,或package-lock.json锁文件版本过旧、与当前npm版本不兼容,导致读取依赖配置文件失败。
解决方案
按以下步骤依次执行即可解决问题:
- 清理本地无效缓存与文件
执行以下命令删除残缺的依赖目录、旧锁文件和npm缓存:
Windows系统可对应替换为命令:# 删除残缺依赖目录 rm -rf node_modules # 删除旧锁文件 rm -rf package-lock.json yarn.lock # 清理npm全局缓存 npm cache clean --force# cmd环境执行 rmdir /s /q node_modules del package-lock.json yarn.lock npm cache clean --force - 替换npm源为国内稳定镜像
执行命令配置国内npm镜像,解决官方源访问超时问题:npm config set registry https://registry.npmmirror.com
可执行npm config get registry验证配置,返回上述镜像地址即为配置成功。 - 重新安装依赖
执行npm install即可正常完成依赖安装。 - 可选优化:如果项目依赖体积较大,可调整npm超时阈值
执行npm config set timeout 60000将超时时间设置为60秒,避免大文件下载中途触发超时。
内容的提问来源于stack exchange,提问作者Rose Riyadh
相关产品推荐
相关产品推荐

