两仪式
两仪式
  • 发布:2020-01-04 16:43
  • 更新:2020-01-15 11:06
  • 阅读:4316

【报Bug】最新版cli安装 无法运行

分类:uni-app

详细问题描述

用正式版创建项目,无法运行
[步骤]
用正式版cli方式创建 vue create -p dcloudio/uni-preset-vue my-project
[结果]
npm run dev:h5 提示
Cannot find module '@dcloudio/vue-cli-plugin-uni/packages/@vue/component-compiler-utils'

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX
[IDE版本号]
2.5.1.20200103
[windows版本号]
win10 1909

2020-01-04 16:43 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

测试未复现,可以查看是不是有依赖没有正确安装

木卯无尘

木卯无尘

如果是新初始化的项目,应该是不会存在这个问题。旧项目还是可能存在的,像我就遇到了。
在执行 npm run dev:mp-weixin 的时候,会遇到

Error: Cannot find module '@dcloudio/vue-cli-plugin-uni/packages/@vue/component-compiler-utils'

原因是 package.json 里面的依赖描述导致的

...
"@dcloudio/uni-cli-shared": "^0.2.994",
"@dcloudio/uni-template-compiler": "^0.9.183",
"@dcloudio/vue-cli-plugin-hbuilderx": "latest",
"@dcloudio/vue-cli-plugin-uni": "^0.9.516"
...

当我们重新 npm install 的时候,@dcloudio/vue-cli-plugin-hbuilderx 会被更新到最新版(2.x),而 @dcloudio/vue-cli-plugin-uni 却是旧版的,里面没有包含 @vue/component-compiler-utils ,所以才报错

解决办法:

方法1:全部更新 dcloudio 的所有依赖,个人感觉不太保险
方法2:看看 package-lock.json 里面一开始安装的 @dcloudio/vue-cli-plugin-hbuilderx 是什么版本的,手动锁死。比如我项目一开始 @dcloudio/vue-cli-plugin-hbuilderx 的版本是 1.0.137,则我通过执行 npm install @dcloudio/vue-cli-plugin-hbuilderx@1.0.137 --save-dev 来修复

该问题目前已经被锁定, 无法添加新回复