我的项目是monorepo结构,如下
packages
a
index.js
b
index.js
index.js
package.json
根目录的packag.json中设置了workspace
"workspaces": [
"packages/*"
]
a的name是@abc/a
b的name是@abc/b
b中使用了a的函数, b的package.json
"dependencies": {
"@abc/a": "workspace:*"
}
此时在项目根目录下执行yarn
命令,生成的 node_modules如下
node_modules
@abc
a
b
packages
b
node_modules
// 没有@abc/a的依赖
然后运行b中的index.js导致没有a的引用而报错,是什么原因呢?
yarn的版本是3.2.1
我不用本地的依赖,直接安装其他版本的
yarn add @abc/a@0.0.1
是可以的,但是我希望使用本地的依赖,应该怎么用yarn安装?
yarn 经验不多,之前配合 lerna 用过,体验不好。
推荐 pnpm,我之前做过一期视频讲这个,有兴趣的话可以看下:使用 pnpm workspace 管理 monorepo。