You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yarn Workspace Monorepo添加本地包为依赖报404如何解决

Yarn Workspace本地包依赖添加解决方案

错误原因说明

你之前执行命令报错的核心原因有两点:

  • Yarn Workspace是根据子包package.json的name字段识别本地工作区包,而非目录名,你还没有给子包配置带@Main前缀的正式包名,Yarn无法识别本地存在@Main/Auth包
  • 添加依赖时只写了Auth简写,没有写完整的带前缀包名,导致Yarn直接去远端公共仓库查找对应包,自然返回404错误

第一步:修正各子包的package.json名称配置

先确保packages目录下所有子包的package.json的name字段都带上你定义的@Main前缀:

  • packages/Auth/package.json配置示例:
{
  "name": "@Main/Auth",
  "version": "1.0.0",
  // 其余你的原有配置
}
  • packages/Site1/package.json配置示例:
{
  "name": "@Main/Site1",
  "version": "1.0.0",
  // 其余你的原有配置
}
  • packages/Site2/package.json同理,name字段设为@Main/Site2

你根目录的package.json配置无需修改,原有配置是符合要求的。

第二步:执行正确的依赖添加命令

添加依赖时需要写完整的本地包名,同时加上@*指定匹配本地工作区版本,避免Yarn去远端仓库拉取:

# 给@Main/Site1添加@Main/Auth依赖
yarn workspace @Main/Site1 add @Main/Auth@*

# 给@Main/Site2添加@Main/Auth依赖
yarn workspace @Main/Site2 add @Main/Auth@*

可选手动配置方案

你也可以直接手动修改Site1、Site2的package.json,在dependencies字段下添加对应配置:

"dependencies": {
  "@Main/Auth": "workspace:*",
  // 其余你的原有依赖
}

修改完成后在根目录执行yarn install即可生效,workspace:*是Yarn Workspace专用的版本标识,会优先匹配本地工作区的对应包。

内容的提问来源于stack exchange,提问作者lazzy_ms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:57:02