如何正确将全局安装的pnpm包管理器降级到指定旧版本?
pnpm 降级到指定旧版本的操作方法
不需要额外安装复杂工具,直接覆盖安装指定版本即可完成全局降级,根据你最初安装pnpm的方式选对应命令就行:
- 如果你当初是用npm全局安装的pnpm,直接执行以下命令覆盖现有版本:
执行完成后运行npm install -g pnpm@6.32.0pnpm -v,返回结果为6.32.x即代表降级成功。 - 如果你平时就是用pnpm管理全局依赖,直接用pnpm本身的全局安装命令就能切版本,不需要依赖npm:
同样执行完用pnpm add -g pnpm@6.32.0pnpm -v验证版本即可。
如果你需要在不同项目间切换不同版本的pnpm,不想反复卸载重装,可以用常规的版本管理工具实现多版本管理:
- 用Volta管理(自动切换版本无感知)
已经安装Volta的前提下,直接执行以下命令就能把全局默认pnpm锁定到6.32.0版本:
后续如果要切回7+版本,直接执行volta install pnpm@6.32.0volta install pnpm@7即可,不需要手动清理旧版本。如果只需要单个项目固定使用6.32版本,进入项目根目录执行volta pin pnpm@6.32.0,后续进入该目录会自动切换到对应版本的pnpm,不会影响其他项目的使用。 - 用nvm管理
nvm下每个node版本对应的全局依赖是完全隔离的,你只要切换到项目需要使用的node版本,执行npm install -g pnpm@6.32.0,这个版本的pnpm就只会在当前nvm切换到的node环境下生效,切换其他node版本时可以安装不同版本的pnpm,互相不会冲突。
常见踩坑提示:如果你最初是用pnpm官方一键安装脚本装的pnpm,执行完上述命令后版本还是显示旧的7+版本,是因为环境变量路径优先级问题。可以先删除旧版本的残留文件再重装:macOS/Linux系统执行
rm -rf ~/.pnpm ~/.local/share/pnpm,Windows系统直接删除%LOCALAPPDATA%\pnpm目录,清理完成后重新执行对应安装命令即可正常。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

