使用pnpm 管理node版本
官方文档:pnpm
前言:
如果您不使用独立脚本或 @pnpm/exe
来安装 pnpm,那么您需要在您的系统上安装 Node.js(至少 v16.14)。
使用独立脚本安装
即使没有安装 Node.js,也可以使用以下脚本安装 pnpm。
使用 PowerShell:
iwr https://get.pnpm.io/install.ps1 -useb | iex
MacOS
curl -fsSL https://get.pnpm.io/install.sh | sh -
执行命令安装成功后后会看到Setup complete. Open a new terminal to start using pnpm.
Downloading pnpm from GitHub...
Running setup...
Copying pnpm CLI from C:\Users\xxx\AppData\Local\Temp\d1a63449-aa4c-418c-836b-e24e4cac1f5c\pnpm.exe to C:\Users\xxx\AppData\Local\pnpm\pnpm.exe
Next configuration changes were made:
PNPM_HOME=C:\Users\xxx\AppData\Local\pnpm
Path=%PNPM_HOME%;C:\Users\xxx\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\xxx\AppData\Local\Programs\Python\Python311\;C:\Users\xxx\AppData\Local\Microsoft\WindowsApps;d:\JetBrains\WebStorm 2022.1.1\bin;C:\Users\xxx\AppData\Local\Microsoft\WindowsApps;D:\tools\WebStorm 2022.3.2\bin;d:\tools\nvm;d:\tools\nodejs;;d:\tools\Microsoft VS Code Insiders\bin
**Setup complete. Open a new terminal to start using pnpm.**
注:GitHub国外的网站可能一次不会下载成功,可以多次尝试。
这时我们需要重新打开命令行终端,输入pnpm -v
即可查看pnpm版本号,在此表示安装成功
安装并使用指定版本的 Node.js
LTS
是Long-Term Support
的缩写,指的是长期支持版本。这种版本的软件会得到更长时间的支持和维护,通常会持续几年甚至更长时间。
安装 LTS 版本的 Node:
pnpm env use --global lts
// global可简写为g,即上边命令可简写为:
pnpm env use --g lts
执行命令会得到提示:
Fetching Node.js 18.16.0 ...
Node.js 18.16.0 is activated
C:\Users\xxx\AppData\Local\pnpm\node.exe -> C:\Users\xxx\AppData\Local\pnpm\nodejs\18.16.0\node.exe
这时我们输入node -v
可查看node版本号,即表示node已安装成功
安装指定版本的Node:
pnpm env use --g 16
执行命令会得到提示:
Fetching Node.js 16.20.0 ...
Node.js 16.20.0 is activated
C:\Users\xxx\AppData\Local\pnpm\node.exe -> C:\Users\xxx\AppData\Local\pnpm\nodejs\16.20.0\node.exe
注意:这里输入的版本号为16,则会下载v16的最后一个版本,也就是16.20.0,你也可以指定次版本号,例如pnpm env use --global 16.18.2
,可用的版本号列表执行pnpm env list --remote
命令查看
安装最新版本的 Node.js:
pnpm env use --g latest
执行命令会得到提示:
Fetching Node.js 20.3.0 ...
Node.js 20.3.0 is activated
C:\Users\xxx\AppData\Local\pnpm\node.exe -> C:\Users\xxx\AppData\Local\pnpm\nodejs\20.3.0\node.exe
查看本地安装的Node版本
pnpm env list
或
pnpm env ls
执行命令会看到:
16.20.0
18.16.0
* 20.3.0
星号表示当前使用的Node版本
查看服务器可用的Node版本
pnpm env list --remote
移除本地已经安装Node版本
pnpm env remove --g 16.20.0
执行命令会提示:
Node.js 16.20.0 is removed
C:\Users\55856\AppData\Local\pnpm\nodejs\16.20.0
这时我们再使用pnpm env list
命令查看,会发现16.20.0已被删除:
18.16.0
* 20.3.0
切换版本同样也是 pnpm env use --g 版本号
即安装与切换是同一条命令
现在我们将node版本切换到18.16.0
输入以下命令:
pnpm env use --g 18.16.0
之后我们再输入 node -v
或 pnpm env list
即可看到版本已经切换(要是切换不成功看一下是不是程序或项目有正在运行的请先确保关闭终端!)
最后 pnpm 下载依赖是报错的问题:
使用pnpm安装依赖包时报错:EPERM: operation not permitted
解决方案:
设置了pnpm-store
后问题解决
pnpm config set store-dir /home/root/.pnpm-store