pnpm在monorepo架构下不能引用其他模块的问题
·
一、研究背景
monorepo架构项目目录结构:
- common
- index.ts
- ...
- main
- index.ts
- ...
- web
- vue-demo
- ...
pnpm在monorepo架构下使用以下命令
pnpm -F main add common
# or
pnpm --filter main add common
并不能在main/index.ts中使用common/index.ts模块下封装好的axios,一直从远程下载common模块。

二、解决方法
后来参考了这篇文章才知道,pnpm版本在 9.0 之后 pnpm,修改了 link-workspace-packages
的默认值为 false。我们需要开启该属性,在安装依赖时优先在本地链接,而不是从 registry(远程) 中下载。
在根目录新建.npmrc并配置以下内容:
link-workspace-packages=true
再执行以下命令即可
pnpm -F main add common
# or
pnpm --filter main add common
引用效果如下图所示

三、参考文献
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)