如何让pnpm自动将工作区依赖版本设为workspace:*而非workspace:^?
解决pnpm添加工作区依赖时默认生成
workspace:*的问题 有两种方法可以让pnpm在添加工作区依赖时自动使用workspace:*而非workspace:^:
方法一:添加依赖时显式指定版本为*
直接在pnpm add命令里指定依赖版本为*,命令如下:
pnpm add shared-configs@* --workspace --filter package-b
执行后,package-b的package.json会生成:
"dependencies": { ... "shared-configs": "workspace:*", ... }
方法二:配置pnpm默认行为(全局/项目级)
通过修改pnpm配置,让所有工作区依赖的保存协议默认设为*:
- 项目级配置:在项目根目录的
.npmrc文件中添加一行:save-workspace-protocol=* - 全局配置:执行命令全局设置该规则(对所有pnpm项目生效):
pnpm config set save-workspace-protocol *
配置完成后,再执行你原本的pnpm add shared-configs --workspace --filter package-b命令,package.json和pnpm-lock.yaml都会自动使用workspace:*的依赖协议。
内容的提问来源于stack exchange,提问作者Epple
相关产品推荐
相关产品推荐

