Yarn 1.x+Turborepo无法使用工作区依赖,转而从npmjs拉取问题
解决Yarn工作区依赖找不到的问题
针对你用Yarn 1.22.19遇到的workspace:0.0.0版本找不到的问题,按以下步骤排查修复:
确保子包有合法的package.json
进入packages/eslint-config-custom和packages/tsconfig目录,检查每个目录下都有独立的package.json,且包含必填的name和version字段。比如eslint-config-custom/package.json至少要有:{ "name": "eslint-config-custom", "version": "0.0.0", "private": true }其中
private: true可避免误发布到npm,同时让Yarn正确识别为工作区私有包。验证工作区配置路径
确认根目录package.json里的workspaces配置["apps/*", "packages/*"]无误,packages目录确实在根目录下,无拼写、大小写或路径层级错误。清理缓存重新安装
执行以下命令清除Yarn缓存并重新安装,确保工作区依赖被正确识别:yarn cache clean yarn install
为子包添加作用域(将tsconfig改为@myOrg/tsconfig)
按以下步骤修改即可:
修改子包的package.json
进入packages/tsconfig目录,把package.json的name字段改为带作用域的名称:{ "name": "@myOrg/tsconfig", "version": "0.0.0", "private": true }更新所有应用的依赖引用
在每个apps/[你的应用]目录的package.json里,将原有的"tsconfig": "workspace:*"替换为:"@myOrg/tsconfig": "workspace:*"重新安装依赖
再次执行yarn install,Yarn会自动识别带作用域的工作区依赖。
内容的提问来源于stack exchange,提问作者SebastianG
相关产品推荐
相关产品推荐

