-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Taro 4.x Vue3 模板存在 Vite #19247
Copy link
Copy link
Open
Labels
A-cliArea - CLI 相关Area - CLI 相关F-vue3Framework - Vue 3Framework - Vue 3T-alipayTarget - 编译到支付宝小程序Target - 编译到支付宝小程序T-ddT-feishuT-h5Target - 编译到 H5Target - 编译到 H5T-harmonyTarget - 编译到 HarmonyTarget - 编译到 HarmonyT-harmony_hybridTarget - 编译到 Harmony (Hybird 模式)Target - 编译到 Harmony (Hybird 模式)T-jdTarget - 编译到京东小程序Target - 编译到京东小程序T-kwaiT-qqTarget - 编译到 QQ 小程序Target - 编译到 QQ 小程序T-quickappTarget - 编译到快应用Target - 编译到快应用T-qyT-rnTarget - 编译到 React NativeTarget - 编译到 React NativeT-swanTarget - 编译到百度小程序Target - 编译到百度小程序T-ttTarget - 编译到字节跳动小程序Target - 编译到字节跳动小程序T-weappTarget - 编译到微信小程序Target - 编译到微信小程序V-4Version - 4.xVersion - 4.xbugSomething isn't workingSomething isn't working
Metadata
Metadata
Assignees
Labels
A-cliArea - CLI 相关Area - CLI 相关F-vue3Framework - Vue 3Framework - Vue 3T-alipayTarget - 编译到支付宝小程序Target - 编译到支付宝小程序T-ddT-feishuT-h5Target - 编译到 H5Target - 编译到 H5T-harmonyTarget - 编译到 HarmonyTarget - 编译到 HarmonyT-harmony_hybridTarget - 编译到 Harmony (Hybird 模式)Target - 编译到 Harmony (Hybird 模式)T-jdTarget - 编译到京东小程序Target - 编译到京东小程序T-kwaiT-qqTarget - 编译到 QQ 小程序Target - 编译到 QQ 小程序T-quickappTarget - 编译到快应用Target - 编译到快应用T-qyT-rnTarget - 编译到 React NativeTarget - 编译到 React NativeT-swanTarget - 编译到百度小程序Target - 编译到百度小程序T-ttTarget - 编译到字节跳动小程序Target - 编译到字节跳动小程序T-weappTarget - 编译到微信小程序Target - 编译到微信小程序V-4Version - 4.xVersion - 4.xbugSomething isn't workingSomething isn't working
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
Todo
StatusShow more project fields
Padding
请先确认
Taro 版本
v4
相关领域
CLI
使用框架
Vue3
相关平台
小程序基础库版本
No response
问题描述
问题描述
使用 Taro 4.x Vue3 模板创建项目后,无论使用模板默认的 Vite 4.x 版本还是手动升级到 Vite 5.x,都会遇到不同的依赖冲突错误,导致无法完成
npm install。环境信息
复现步骤
方案 A:使用模板默认的 Vite 版本(vite@"^4.2.0")
taro init创建新的 Vue3 项目npm install方案 B:手动升级到 Vite 5.x
"vite": "^4.2.0"为"vite": "^5.4.21"npm install期望行为
模板应该能够开箱即用,无需手动调整依赖版本。
根本原因分析
项目依赖链存在不兼容:
两个核心插件对 Vite 版本的依赖相互矛盾,导致无论选择哪个版本都无法满足所有依赖要求。
可能的解决方案
@tarojs/plugin-framework-vue3以支持 Vite 5.x(推荐)@vitejs/plugin-vue到支持 Vite 4.x 的版本--legacy-peer-deps的临时解决方案补充信息
当前 package.json 关键依赖:
{ "devDependencies": { "vite": "^4.2.0", // 或 "^5.4.21" "@vitejs/plugin-vue": "^5.0.4" }, "dependencies": { "@tarojs/plugin-framework-vue3": "4.2.0" } }完整依赖冲突链:
复现链接
https://github.com/NervJS/taro/blob/main/packages/taro-cli/templates/default/package.json.tmpl
复现步骤
方案 A:使用模板默认的 Vite 版本(vite@"^4.2.0")
taro init创建新的 Vue3 项目npm install方案 B:手动升级到 Vite 5.x
"vite": "^4.2.0"为"vite": "^5.4.21"npm install环境信息
开源贡献