npm run dev报错:vue版本和vue-template-compiler版本不一致,导致无法启动
首先package.json文件中指定的vue版本为2.6.10,vue-template-compiler版本为2.6.10,使用的是华为npm仓库:https://repo.huaweicloud.com/repository/npm/为什么npm拉取的版本不是2.6.10,是因为vue版本采用了-开头(拉取仓库最新2.0版),vue-template-compiler版本是^开头(拉取仓库中
项目启动报错信息
INFO Starting development server... ERROR Error:Vue packages version mismatch:
- vue@2.6.14 (E:\company\jyyh\temp\hsa-osa-ui\node_modules\vue\dist\vue.runtime.common.js)
- vue-template-compiler@2.7.16 (E:\company\jyyh\temp\hsa-osa-ui\node_modules\vue-template-compiler\package.json)
This may cause things to work incorrectly. Make sure to use the same version for both.
If you are using vue-loader@>=10.0, simply update vue-template-compiler.
If you are using vue-loader@<10.0 or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.
问题分析
首先package.json文件中指定的vue版本为2.6.10,vue-template-compiler版本为2.6.10,使用的是华为npm仓库:https://repo.huaweicloud.com/repository/npm/
配置如下:
"vue": "~2.6.10",
"vue-template-compiler": "^2.6.10",
为什么npm拉取的版本不是2.6.10,是因为vue版本采用了-开头(拉取仓库最新2.0版),vue-template-compiler版本是^开头(拉取仓库中最新的版本)
package.json介绍 可见文章:文章地址
测试发现 华为仓库最新的vue版本是2.6.14,vue-tempate-compiler版本是2.7.16
方法:访问仓库中某个依赖版本
如vue(package-lcok.json):
"vue": {
"version": "2.6.14",
"resolved": "https://repo.huaweicloud.com/repository/npm/vue/-/vue-2.6.14.tgz",
"integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ=="
},
访问地址:https://repo.huaweicloud.com/repository/npm/vue
就可以获取到返回的所有版本信息,此时最新的vue2.0版本最新的版本为2.6.14,而vue-template-compiler最新版本为2.7.14
官方vue版本和vue-template-compiler版本如下
官方地址:https://www.npmjs.com/
vue-template-compiler最新版本为2.7.16
vue2.0版本最新为2.7.16 已经废弃了(所有2.0版本都已经废弃)
解决办法
采用指定版本下载(去掉 package.json文件中-或^),就能下载指定版本。
更多推荐
所有评论(0)