npm install报错caniuse-lite@^1.0.30001349无匹配版本解决方法
npm install 报caniuse-lite版本不存在问题解决方案
报错场景
执行npm install时抛出如下错误:
npm ERR! code ETARGET npm ERR! notarget No matching version found for caniuse-lite@^1.0.30001349. npm ERR! notarget In most cases you or one of your dependencies are requesting npm ERR! notarget a package version that doesn't exist. npm ERR! notarget npm ERR! notarget It was specified as a dependency of 'browserslist' npm ERR! notarget
手动安装指定1.0.30001349版本caniuse-lite仍报相同错误,排查发现该版本为发布仅数小时的新版本,故障根因为当前使用的npm源未完成新版本同步,导致无法拉取对应包。
快速解决方法(按生效速度排序)
- 临时切换npm官方源安装
直接执行命令切换到实时同步的官方源:npm config set registry https://registry.npmjs.org/
重新执行npm install即可完成依赖安装。如果日常使用国内镜像源,安装完成后可切回原有源,例如切换为淘宝镜像的命令为npm config set registry https://registry.npmmirror.com/ - 强制锁定caniuse-lite到已同步的稳定版本
不想切换源的话,可以通过包管理器的版本重写能力,把传递依赖的caniuse-lite锁定到本地源已存在的旧版本(比如1.0.30001348):- npm 8.3及以上版本:在项目package.json中添加如下配置
"overrides": { "caniuse-lite": "1.0.30001348" } - yarn用户:在项目package.json中添加如下配置
"resolutions": { "caniuse-lite": "1.0.30001348" }
node_modules目录和lock文件(package-lock.json/yarn.lock),重新执行install即可。 - npm 8.3及以上版本:在项目package.json中添加如下配置
- 清理本地npm缓存后重试
部分场景是本地缓存异常导致版本识别错误,依次执行以下命令:npm cache clean --force
删除node_modules和package-lock.json后重新执行npm install。 - 等待源同步完成
国内第三方npm源的同步延迟通常在1~4小时,不紧急的情况下等待同步完成后直接执行install即可,无需修改任何配置。
内容的提问来源于stack exchange,提问作者Dragon981
相关产品推荐
相关产品推荐

