使用gradle-node-plugin无法运行pnpm命令,提示任务不存在
问题解决:Gradle任务找不到pnpm_run_build
问题原因
你使用的gradle-node-plugin 7.0.1会自动检测项目包管理器:如果项目根目录存在pnpm-lock.yaml,插件会默认切换为pnpm作为包管理器,此时原来的npm_run_*任务会被替换为pnpm_run_*,但你的任务依然依赖npm_run_build,所以出现找不到任务的错误。
解决办法
办法一:强制使用npm
在node插件配置中明确指定使用npm,这样插件会生成npm_run_*系列任务:
configure([project(':myProject')]) { apply plugin: "com.github.node-gradle.node" node { version = '18.18.2' download = true npmCommand = 'npm' // 强制指定包管理器为npm } }
办法二:改用pnpm任务名
如果项目确实需要使用pnpm,直接修改任务依赖的名称为pnpm对应的任务:
task buildMablDriver(type: Copy) { dependsOn ":myProject:pnpm_run_build" }
办法三:删除pnpm锁文件
如果是误生成了pnpm-lock.yaml,删除这个文件后,插件会自动回退使用npm,npm_run_build任务就能正常识别。
内容的提问来源于stack exchange,提问作者hardkoded
相关产品推荐
相关产品推荐

