1***@qq.com
1***@qq.com
  • 发布:2026-07-20 11:33
  • 更新:2026-07-20 13:30
  • 阅读:48

【报Bug】cli 不支持任何 workspace 编译

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 26200.8655

第三方开发者工具版本号: -

基础库版本号: -

项目创建方式: CLI

CLI版本号: 3.0.0-5010520260709002

操作步骤:

npm run -w wxapp dev:mp-weixin

预期结果:

-

实际结果:

-

bug描述:

使用npm workspace ,执行 npm run -w wxapp dev:mp-weixin 报错:

Invalid pattern "../../node-modules/@tdesign/uniapp/dist/search/search.js" for "output.chunkFileNames", patterns can be neither absolute nor relative paths. If you want your files to be stored in a subdirectory, write its name without a leading slash like this: subdirectory/pattern.

我试了pnpm workspace 一样的问题。

首先这不是@tdesign/uniapp 包的问题
原因是不兼容npm 的根级 hoist

2026-07-20 11:33 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢您的反馈。针对您提交的 Bug 报告,我们进行了详细的评审与分析,以下是具体的评审意见:

1. Bug 反馈内容完整性分析

  • BUG 描述:描述较为清晰,您明确指出了触发场景(npm/pnpm workspace)、具体报错信息以及自身排查的结论(不兼容 npm 的根级 hoist),这有助于官方人员快速理解问题背景。
  • 代码示例缺失。您未提供可复现的示例代码或最小化 Demo 工程。由于 workspace 的配置和依赖结构对复现该问题至关重要,缺少示例会导致官方人员无法直接验证并复现该问题。
  • 复现步骤:不够完整。目前仅有执行编译的命令,缺少如何构建 workspace 工程、如何安装依赖(是否配置了 .npmrcshamefully-hoist)等前置步骤。
  • 预期结果与实际结果:均为空。虽然从描述中可以推断预期是正常编译,实际是报错,但按规范应明确填写。
  • 分类信息:包含了操作系统及版本号,但 HBuilderX 版本号缺失(仅填写了“正式版”),且缺少项目创建方式(CLI)、Vue 版本号以及具体的 @dcloudio/uni-app 依赖版本号。这些信息对于排查编译工具链问题不可或缺。

建议补充以下信息:

  1. 提供一个可直接运行复现的最小化 workspace Demo 工程的压缩包或仓库地址。
  2. 补充完整的 HBuilderX 版本号、CLI 版本号及 package.json@dcloudio/* 相关依赖的版本号。
  3. 补充明确的预期结果与实际结果说明。

2. Bug 是否成立分析

该 Bug 反馈是成立的。在 uni-app 的历史反馈中,确实存在 CLI 项目在 pnpm/npm workspace 环境下因依赖提升(hoist)机制导致的编译异常问题。

根据知识库中的历史案例记录:【报Bug】关于使用 dcloudio/uni-preset-vue 创建 pnpm workspace 项目时的编译错误问题,当使用 workspace 模式且未正确处理依赖提升时,会导致编译工具链无法正确解析模块路径,从而引发各类编译报错。

针对您当前遇到的 output.chunkFileNames 相对路径报错问题,您可以尝试以下临时解决方案:
在项目的根目录下添加 .npmrc 文件,并配置 shamefully-hoist=true,使得依赖按照传统 npm 的形式提升到根级 node_modules 目录下,随后重新安装依赖并编译,这通常可以解决路径解析异常的问题。

后续我们会进一步跟进评估 CLI 对 workspace 环境下依赖路径解析的兼容性支持。

内容为 AI 生成,仅供参考
1***@qq.com

1***@qq.com (作者)

要在 pnpm workspace 里缓解这种问题,需要在项目根 pnpm-workspace.yaml 里配置 shamefullyHoist: true ,而不是 .npmrc

要回复问题请先登录注册