pnpm为何检测到额外工作区?预期2个却显示3个
问题原因及解决办法
核心原因
pnpm 会自动将根目录下存在的 package.json 视为一个工作区项目,哪怕你的 pnpm-workspace.yaml 仅配置了 workbooks/*。你的项目里根目录有独立的 package.json,所以 pnpm 检测到的工作区项目总数是:根目录项目 + workbooks 下的2个子项目,总共3个。
而你执行的 project:deploy 脚本只在 workbooks 下的两个子项目中存在(根目录的 package.json 未定义该脚本),因此 pnpm 会输出「Scope: 2 of 3 workspace projects」,意思是3个工作区项目里,只有2个能执行指定的脚本。
解决方式
如果不想让根目录被纳入工作区范围,修改 pnpm-workspace.yaml 添加排除规则:
packages: - "workbooks/*" - "!./"
内容的提问来源于stack exchange,提问作者Jackson H
相关产品推荐
相关产品推荐

