yarn怎么安装workspace的依赖?

我的项目是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。


回答:

@abc/a包的依赖并没有被安装到b包的node_modules目录中是不是因为@abc/a包的依赖已经被安装到了项目根目录的node_modules中,你在b包的package.json文件中添加:

"resolutions": {

"@abc/a": "workspace:@abc/a"

}

以上是 yarn怎么安装workspace的依赖? 的全部内容, 来源链接: utcz.com/p/934384.html

回到顶部