使用pnpm管理node版本

补充

只有通过标准脚本安装的pnpm才能在里面增加node版本

curl -fsSL https://get.pnpm.io/install.sh | sh -

否则的话会报错

❯ pnpm env add --global 25
 ERR_PNPM_CANNOT_MANAGE_NODE  Unable to manage Node.js because pnpm was not installed using the standalone installation script

原文

本文由 简悦 SimpRead 转码, 原文地址 allenmrbai.github.io

日常工作中,我们经常需要在不同的项目中使用不同的 Node.js 版本。pnpm 提供了一个非常方便的命令 pnpm env use <node-version> 来切换 Node.js 版本。可以帮助我们轻松地在不同的项目中切换 Node.js 版本,这样我们就不需要单独下载 nvm 了。

安装 pnpm

有个注意事项,你通过 npm i -g pnpm 的形式安装是没有 pnpm env use 命令的。需要通过以下几种方式安装才行(如果你已经安装了 nvm,可以参考这个链接删除 nvm,然后再安装 pnpm):

在 Windows 上安装 pnpm

使用 PowerShell:

Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression

原官网文档地址

在 POSIX 系统上

curl -fsSL https://get.pnpm.io/install.sh | sh -

如果你没有安装 curl,也可以使用 wget:

wget -qO- https://get.pnpm.io/install.sh | sh -

原官网文档地址

使用

安装完毕需要重启下命令行工具(或者用 source ~/.bashrc or source ~/.zshrc or source ~/.bash_profile 等命令使配置生效),然后执行 pnpm -v 就可以看到版本号了。

如果你要切换 node 到版本 22 可以执行:

pnpm env use --global 22

node -v # v22.15.0

切换 node 到版本 16 可以执行:

pnpm env use --global 16

node -v # v16.20.2

还有一个小技巧,如果某个项目安装命令需要 pnpm 版本为 8,node 版本为 16,那么可以执行:

pnpm env use --global 16

npx pnpm@8 install