一个 monorepo 的项目,需要 npm 安装
我以为 pnpm 弄一下快,结果缺各种包
重新用 npm 装了一下就没问题,主项目里缺的包,同一个 workspace 里安装过就没问题,但是 pnpm 就不行
这俩在计算依赖的算法不一样,现在看除非一开始用 pnpm 初始化的 monorepo ,其它的会出各种问题。
![]() |
1
CHTuring 2024-07-01 23:42:06 +08:00 via iPhone
其实不难,一般改下 npmrc 文件把包安装到顶层就好了。
|
![]() |
2
workg 2024-07-02 10:04:15 +08:00
- npm 装包是扁平的,安装 A ( A 又依赖 B )。A 和 B 在 node_module 中是同级,所以代码中可以直接使用 B
- pnpm 是树状的,node_module 中只能看到 A ,没有 B 。可以配置 hoist=true 提升依赖 |
![]() |
3
tcper OP @CHTuring 意思在项目目录下面把 global 设为 true ?这样的话等于改变了项目配置,其他跑这个项目的人也受到影响了
|
4
yanyiming 2024-07-02 12:03:13 +08:00
幽灵依赖.
|
5
chuck1in 2024-07-02 15:24:31 +08:00
我换成 bun 了,你也赶快换吧。
|