使用 pnpm env 管理 Node.js 版本(Mac)
前言
前端日常开发中经常需要在多个 Node.js 版本间切换。
传统方案是使用 nvm,但它们需要额外安装和维护。
pnpm 作为流行的包管理器,内置了 pnpm env 命令,可以直接管理 Node.js 的安装与切换。
这样我们只需安装一个工具,就能同时管理包依赖和 Node 运行时版本。
卸载 nvm
在卸载 nvm 之前先清理它下载的所有 Node 版本,释放磁盘空间。
打开配置文件(以 zsh 为例):
1 | vi ~/.zshrc |
在文件中删除以下行:
1 | # 使用 npmmirror |
保存并重新加载配置:
1 | source ~/.zshrc |
删除程序
1 | rm -rf ~/.nvm |
安装 pnpm
1 | curl -fsSL https://get.pnpm.io/install.sh | sh - |
1 | # 1. 手动下载官方安装脚本 |
验证
安装后执行以下命令确认版本:
1 | pnpm --version |
配置路径
pnpm 安装的 Node.js 默认存放位置以及自定义配置方法。
这部分根据实际需要选择性操作。
查看安装路径
使用以下命令查看当前使用的 Node 路径和 pnpm 全局目录:
1 | # 查看 pnpm 全局 bin 目录 |
自定义路径
如果希望将 Node 安装到其他位置,通过 global-dir 和 global-bin-dir 配置:
1 | # 设置全局目录 |
配置 PATH
打开 Zsh 配置文件:
1 | open ~/.zshrc |
添加
1 | export PATH="/Users/psvmc/tools/pnpm/bin:$PATH" |
保存并刷新:
1 | source ~/.zshrc |
设置镜像
1 | pnpm config set registry https://registry.npmmirror.com |
获取
1 | pnpm config get registry |
管理 Node 版本
pnpm 提供了 pnpm env 子命令,功能类似于 nvm 的核心能力。
所有操作都在终端中完成,无需手动下载或配置环境变量。
安装与切换
使用 pnpm env use 安装并激活一个特定版本的 Node.js:
1 | # 安装最新的 LTS 版本 |
--global 参数表示将该版本设置为系统全局的 Node.js 版本。
再次调用即可切换到另一个版本,pnpm 会自动下载并切换:
1 | pnpm env use --global 24 |
安装npm
pnpm安装的NodeJS默认没有npx和npm
有些环境默认使用的npm或npx。
我们可以再安装
1 | pnpm install -g npm |
这时候就有npm了
1 | npm -v |
设置镜像
1 | npm config set registry https://registry.npmmirror.com |
验证
打开新终端执行以下命令,确认当前 Node 版本符合预期:
1 | node -v |
同时确认 pnpm 仍能正常使用:
1 | pnpm -v |
npx
npx的命令可以替换为pnpm
比如
1 | npx hexo g |
替换为
1 | pnpm hexo g |