在 pnpm 中管理包的特定版本安装和卸载操作如下:
1.卸载指定包
# 卸载单个包
pnpm remove <package-name>
# 示例:卸载 lodash
pnpm remove lodash
# 卸载多个包
pnpm remove <package1> <package2>
# 全局卸载
pnpm remove --global <package-name>
2.安装指定版本包
# 精确安装特定版本
pnpm add <package-name>@<version>
# 示例:安装 lodash 的 4.17.21 版本
pnpm add lodash@4.17.21
# 安装预发布版本(如 next, beta, alpha 等)
pnpm add <package-name>@<tag>
# 示例:安装 Vue 的 next 标签版本
pnpm add vue@next
# 全局安装指定版本
pnpm add --global <package-name>@<version>
3.清除pnpm的缓存
pnpm store prune
4.其他相关操作
# 查看可用版本列表
pnpm info <package-name> versions
# 示例:查看 Vue 的所有版本
pnpm info vue versions
# 更新到最新版本
pnpm update <package-name>
# 更新到指定版本
pnpm update <package-name>@<version>
5.版本选择语法
- 精确版本:
@4.17.21
- 兼容版本:
@~4.17.0
(匹配 4.17.x) - 最小兼容:
@^4.0.0
(匹配 4.x.x) - 预发布标签:
@next
、@beta
、@alpha
6.工作空间示例(monorepo)
# 在工作空间的特定项目中安装
pnpm --filter <project-name> add <package-name>@<version>
# 示例:在 web-app 项目中安装 React 18.2.0
pnpm --filter web-app add react@18.2.0
7.注意事项
- 安装特定版本后,会在
package.json
中记录精确版本号:"dependencies": { "lodash": "4.17.21" }
- 使用
pnpm update
时默认遵循package.json
中的语义化版本范围 - 删除
node_modules
后重新安装:pnpm install
会根据package.json
精确还原版本 - 查看已安装版本:
pnpm list <package-name>