【问题标题】:Vue 3 package version mismatchVue 3 包版本不匹配
【发布时间】:2021-06-14 07:45:22
【问题描述】:

我正在尝试更新我为 vue 3 制作的包,但我遇到了 vue-template-compiler 的问题。

我尝试关注一个类似的帖子,该帖子有类似的问题,但它似乎对我不起作用。(Vue package Version mismatch)

我收到以下错误:

> @utt/message-system@1.1.4 build:es
> cross-env NODE_ENV=production rollup --config build/rollup.config.js --format es

[!] Error: 

Vue packages version mismatch:

- vue@3.1.1 (C:\projects\UTT-Message-System\module\node_modules\vue\index.js)
- vue-template-compiler@2.6.14 (C:\projects\UTT-Message-System\module\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.

Error: 

Vue packages version mismatch:

- vue@3.1.1 (C:\projects\UTT-Message-System\module\node_modules\vue\index.js)
- vue-template-compiler@2.6.14 (C:\projects\UTT-Message-System\module\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.

    at Object.<anonymous> (C:\projects\UTT-Message-System\module\node_modules\vue-template-compiler\index.js:10:9)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Object.require.extensions.<computed> [as .js] (C:\projects\UTT-Message-System\module\node_modules\rollup\dist\shared\loadConfigFile.js:516:13)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (C:\projects\UTT-Message-System\module\node_modules\@vue\component-compiler\dist\compiler.js:26:26)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Object.require.extensions.<computed> [as .js] (C:\projects\UTT-Message-System\module\node_modules\rollup\dist\shared\loadConfigFile.js:516:13)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)

[nodemon] app crashed - waiting for file changes before starting...


更新:我使用了rollup-plugin-vue 包,它与 vue 3 不兼容,所以我安装了rollup-plugin-vue@next,现在我的package-lock.json 文件中没有 vue-template-compiler。

但是现在我在插件 babel 上有一个新错误,我正在尝试解决这个问题,所以如果有人能分享任何想法,将不胜感激:

[!] (plugin babel) SyntaxError: C:\projects\UTT-Message-System\module\Components\MessageContainer.vue?vue&type=style&index=0&id=3d58915e&lang.css: Unexpected token (2:0)

  1 |
> 2 | ._messageList_yig6l_3 {
    | ^
  3 |   position: absolute;
  4 |   display: flex;
  5 |   flex-direction: column;
Components\MessageContainer.vue?vue&type=style&index=0&id=3d58915e&lang.css (2:0)
SyntaxError: C:\projects\UTT-Message-System\module\Components\MessageContainer.vue?vue&type=style&index=0&id=3d58915e&lang.css: Unexpected token (2:0)

  1 |
> 2 | ._messageList_yig6l_3 {
    | ^
  3 |   position: absolute;
  4 |   display: flex;
  5 |   flex-direction: column;
    at Parser._raise (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\error.js:134:45)
    at Parser.raiseWithData (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\error.js:129:17)
    at Parser.raise (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\error.js:78:17)
    at Parser.unexpected (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\util.js:179:16)
    at Parser.parseExprAtom (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\expression.js:1202:20)
    at Parser.parseExprSubscripts (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\expression.js:613:23)
    at Parser.parseUpdate (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\expression.js:593:21)
    at Parser.parseMaybeUnary (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\expression.js:560:23)
    at Parser.parseExprOps (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\expression.js:364:23)
    at Parser.parseMaybeConditional (C:\projects\UTT-Message-System\module\node_modules\@babel\parser\src\parser\expression.js:329:23)

[nodemon] app crashed - waiting for file changes before starting...

感谢您的帮助。

【问题讨论】:

  • 您正在将 Vue 2 编译器与 Vue 3 一起使用。这就是错误所说的内容。
  • 感谢回复,我从package.json中去掉vue-template-compiler后,还是一样的错误。
  • 查看锁文件,可以看出这个依赖是从哪里来的。检查stackoverflow.com/help/mcve。目前无法回答这个问题。
  • 是的,你是对的,我不得不对此进行更多检查,发现我使用的是旧版本的 rollup-plugin-vue,所以我对其进行了更新,现在我将尝试找到解决方案解决它。

标签: vue.js vuejs2 vuejs3


【解决方案1】:

从您的应用中删除“vue-template-compiler”

npm uninstall vue-template-compiler

然后安装 compiler-sfc 替换 vue-template-compiler

npm i -D @vue/compiler-sfc

确保你的 package.json 中没有 vue-template-compiler 并且你会看到 vue/compiler-cfs

既然你已经删除了 vue-template-compiler,那么 vue-loader 会抱怨需要它来工作,所以升级它以及使用以下命令为 vue 3 工作

npm install vue-loader@next

由于您正在进行升级,根据您的项目配置,这里和那里可能会出现其他错误。但继续解决,很快你就会让它运行起来

【讨论】:

    猜你喜欢
    • 2019-09-18
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 2021-12-31
    • 2018-09-12
    • 2018-05-26
    • 2021-06-19
    相关资源
    最近更新 更多