Skip to content

turbo 无法添加包到工作区

turbo 报 Failed to add workspace 的错误。

运行 turbo 时,识别包的范围深度过深,把一些垃圾 package.json 也识别成工作区了,恰好出现两个包的 name 重名冲突的情况。

情况说明

turbo 对 package.json 的识别有误。不应该识别无意义的包。

尝试解决

已处理该 bug

问题的起因是这样的

  1. .vercel/**/package.json

    vc 的 build 命令,即 vc build 会直接运行 vercel.json 配置的 buildCommand 配置的命令,在目前(2024-10-18)的设计内,该配置为 null,故 vercel 的部署行为会实行静态部署,即把整个目录内的东西全部拷贝下来。会多出一个 .vercel/**/package.json 文件,这是符合预期的。

  2. pnpm-workspace.yaml 的匹配语法变化了

    为了适应 commitlint.config.cjs 的包索引配置,需要使用该配置提供的 glob 语法,来查询项目内全部的 package.json 包信息。

    yaml
    packages:
      - "packages/**"
      - "demos/**"

    这个包语法是两个星星。查询的是目录内全部深度的,含有 package.json 文件的目录。那么 .vercel/**/package.json 也会被索引到。

  3. turbo 运行报错

    目前我还不清楚 turbo 是怎么处理项目内的 package.json 文件的,不清楚 turbo 会如何使用 pnpm-workspace.yaml 提供的查询配置。在更改 glob 语法,更改查询范围时,turbo 就工作正常了。

贡献者

The avatar of contributor named as ruan-cat ruan-cat

页面历史

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。