NPM Workspaces如何仅安装根目录package.json中的依赖
如何在npm monorepo中仅安装根目录依赖
直接执行带--workspaces=false参数的安装命令即可:
npm install --workspaces=false
这个参数会显式关闭npm的工作区递归安装逻辑,执行后npm只会读取根目录的package.json和锁文件,安装根级别声明的所有依赖,完全不会处理各个子工作区的依赖安装流程,和你想要的npm install --workspace none效果完全一致。
- CI场景下如果只需要根目录的生产依赖,直接追加常规参数即可,和普通
npm install的参数规则完全兼容:npm install --workspaces=false --omit=dev - 如果要单独给根目录安装某个依赖包,不想触发全工作区依赖安装,同样可以带上这个参数:
npm install <package-name> --workspaces=false
注意:该参数要求npm版本 >=7.0.0,目前Node.js 16及以上版本自带的npm都满足要求,要是CI环境npm版本过低,先跑
npm install -g npm@latest升级就行。
别尝试给单数形式的--workspace传空值、none这类特殊值实现效果,单数参数是用来指定要安装的单个工作区的,没有跳过所有工作区的逻辑,只有复数形式的--workspaces=false是官方原生支持的关闭全工作区安装的写法。
内容的提问来源于stack exchange,提问作者Titan
相关产品推荐
相关产品推荐

