You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pnpm monorepo中如何从根目录仅在指定子包执行命令?

pnpm monorepo 根目录为指定子包安装依赖的方法

pnpm 原生支持在根目录操作、仅给单个/多个指定子包安装依赖,不需要进入子包目录,对应 npm --workspace=xxx 参数的能力,pnpm 通过 --filter(可简写为 -F)参数指定目标子包即可。

基础用法

比如要给名为 a 的子包安装生产依赖 react,在根目录执行以下命令:

pnpm add react --filter a

如果要安装开发依赖,追加 -D 参数即可,例如给子包a安装开发依赖eslint:

pnpm add eslint -D --filter a

注意事项

  • --filter 后面传入的是目标子包 package.json 中 name 字段的值,不是子包的文件夹名称,如果子包包名和文件夹名不一致,要填写实际的包名
  • 如果需要同时给多个指定子包安装同一个依赖,多个包名之间用逗号分隔即可,例如同时给a、b两个子包安装lodash:
    pnpm add lodash --filter a,b
    
  • 执行命令后,依赖只会写入对应目标子包的package.json和依赖目录,不会污染根目录或其他无关子包的依赖配置,该能力在pnpm 3.x及以上版本均稳定支持,不需要额外配置或插件。

内容的提问来源于stack exchange,提问作者Jonathan Lightbringer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 10:03:37