相关平台
微信小程序
小程序基础库: 2.23.1
使用框架: Vue 2
复现步骤
第一步:初始化一个仓库,package.json 中依赖都为 3.4.1(项目中不存在node_modules,和lock文件)
第二步:执行 taro build --type weapp --watch 或(yarn dev:weapp)
第三步:发现控制台提示 ”缺少npm包@tarojs/mini-runner“,并执行自动安装依赖逻辑
第四步:发现安装完成后,package.json 中的 @tarojs/mini-runner 依赖版本从 3.4.1 升级到了 3.4.3 (即最新版本)
期望结果
可以自动安装依赖,但应该根据项目中依赖版本安装;
同时不能改变项目中 package.json 中的依赖信息。
实际结果
@tarojs/mini-runne:3.4.1 的配置确安装了最新的版本 3.4.3
环境信息
Taro CLI 3.4.1 environment info:
System:
OS: Windows 10
Binaries:
Node: 14.16.0 - C:\nodejs\node.EXE
Yarn: 1.22.17 - C:\nodejs\yarn.CMD
npm: 8.5.4 - C:\nodejs\npm.CMD
补充信息
taro-service/src/platform-plugin-base.ts 中 getRunner 函数有动态获取 Npm 包逻辑,是不是这里需要做一下处理,应该获取当前cli的版本号进行对应依赖下载,而不是直接安装最新的版本。
protected async getRunner () {
const { appPath } = this.ctx.paths
const { npm } = this.helper
const runner = await npm.getNpmPkg('@tarojs/mini-runner', appPath)
return runner.bind(null, appPath)
}
2条答案
按热度按时间ff29svar1#
等待热心的小伙伴解决问题中..., 有一些相关的 issues 可能帮助到你!
Thank you so much!
j2datikz2#
可以来个 PR 哈~