前情提要
使用npm淘宝镜像 https://registry.npm.taobao.org
年前创建的vue3项目npm install
完后没有使用ui写了点杂七杂八的东西,年后看到一篇文章有点兴趣,掏出来准备试一下,本打算安装element-plus 写起来方便点npm install element-plus --save
,结果就运行后就报错
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: @vue/eslint-config-standard@6.1.0
npm ERR! Found: eslint-plugin-vue@8.7.1
npm ERR! node_modules/eslint-plugin-vue
npm ERR! dev eslint-plugin-vue@"^8.0.3" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint-plugin-vue@"^7.0.0" from @vue/eslint-config-standard@6.1.0
npm ERR! node_modules/@vue/eslint-config-standard
npm ERR! dev @vue/eslint-config-standard@"^6.1.0" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: eslint-plugin-vue@7.20.0
npm ERR! node_modules/eslint-plugin-vue
npm ERR! peer eslint-plugin-vue@"^7.0.0" from @vue/eslint-config-standard@6.1.0
npm ERR! node_modules/@vue/eslint-config-standard
npm ERR! dev @vue/eslint-config-standard@"^6.1.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
看这一堆眼花缭乱的,其实最有用的就是后几行,让我们在原本命令上增加 --force or --legacy-peer-deps
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
也就是npm install element-plus --save --force
跑起来又又报错了=.=,好好好,看看报错信息
npm WARN using --force Recommended protections disabled.
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @vue/eslint-config-standard@6.1.0
npm WARN Found: eslint-plugin-vue@8.7.1
npm WARN node_modules/eslint-plugin-vue
npm WARN dev eslint-plugin-vue@"^8.0.3" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer eslint-plugin-vue@"^7.0.0" from @vue/eslint-config-standard@6.1.0
npm WARN node_modules/@vue/eslint-config-standard
npm WARN dev @vue/eslint-config-standard@"^6.1.0" from the root project
npm WARN
npm WARN Conflicting peer dependency: eslint-plugin-vue@7.20.0
npm WARN node_modules/eslint-plugin-vue
npm WARN peer eslint-plugin-vue@"^7.0.0" from @vue/eslint-config-standard@6.1.0
npm WARN node_modules/@vue/eslint-config-standard
npm WARN dev @vue/eslint-config-standard@"^6.1.0" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: friendly-errors-webpack-plugin@1.7.0
npm WARN Found: webpack@5.89.0
npm WARN node_modules/webpack
npm WARN peer webpack@"^4.0.0 || ^5.0.0" from @soda/friendly-errors-webpack-plugin@1.8.1
npm WARN node_modules/@soda/friendly-errors-webpack-plugin
npm WARN @soda/friendly-errors-webpack-plugin@"^1.8.0" from @vue/cli-service@5.0.8
npm WARN node_modules/@vue/cli-service
npm WARN 20 more (@vue/cli-plugin-babel, @vue/cli-plugin-eslint, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer webpack@"^2.0.0 || ^3.0.0 || ^4.0.0" from friendly-errors-webpack-plugin@1.7.0
npm WARN node_modules/friendly-errors-webpack-plugin
npm WARN friendly-errors-webpack-plugin@"^1.7.0" from vue-cli-plugin-electron-builder@2.1.1
npm WARN node_modules/vue-cli-plugin-electron-builder
npm WARN
npm WARN Conflicting peer dependency: webpack@4.47.0
npm WARN node_modules/webpack
npm WARN peer webpack@"^2.0.0 || ^3.0.0 || ^4.0.0" from friendly-errors-webpack-plugin@1.7.0
npm WARN node_modules/friendly-errors-webpack-plugin
npm WARN friendly-errors-webpack-plugin@"^1.7.0" from vue-cli-plugin-electron-builder@2.1.1
npm WARN node_modules/vue-cli-plugin-electron-builder
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/element-plus failed, reason: certificate has expired
上面都是WARN不用管,重点看ERR,他说xxx https://registry.npm.taobao.org/element-plus failed(失败)
这个地址很眼熟啊,npm taobao这不就是淘宝镜像吗,reason:原因 certificate has expired 证书已过期,好家伙,搞了半天淘宝镜像过期了
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/element-plus failed, reason: certificate has expired
解决
找到根源,就好解决了, 切换npm镜像源
// 先清除缓存
npm cache clean --force
npm config set registry npm镜像源
开始百度“淘宝镜像过期”,找到一篇一个月前热气腾腾的救命文章 npm 淘宝镜像正式到期,赶紧更新!
换源
npm config set registry https://registry.npmmirror.com
重新执行,安装成功🏅
npm install element-plus --save --force