每次备份都是连带环境整体全部打包的,这样冗余太多了,而且环境也很乱,干脆给换到pnpm,统一一下。
Note
由于volta不再维护,并且pnpm v11也有一些break change,这里重新写一下现在服务器上最新的配置。
安装fnm
先装一个node的环境管理器。用nvm也可以。
安装:curl -fsSL https://fnm.vercel.app/install | bash -s -- --skip-shell
配置nodejs-release镜像(可选):https://mirrors.tuna.tsinghua.edu.cn/help/nodejs-release/
配置bashrc:
FNM_PATH="$HOME/.local/share/fnm"
if [ -d "$FNM_PATH" ]; then
export PATH="$FNM_PATH:$PATH"
eval "$(fnm env --shell bash)"
fi
安装node:fnm i 24
安装pnpm
安装 npm i -g pnpm(更换node环境需要重新安装)。
配置bashrc:
export PNPM_HOME="$HOME/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME/bin:"*) ;;
*) export PATH="$PNPM_HOME/bin:$PATH" ;;
esac
如果是在rc.local中执行,由于没有$HOME变量,所以需要使用绝对路径:
FNM_PATH="/root/.local/share/fnm"
if [ -d "$FNM_PATH" ]; then
export PATH="$FNM_PATH:$PATH"
eval "$(fnm env --shell bash)"
fi
# pnpm
export PNPM_HOME="/root/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME/bin:"*) ;;
*) export PATH="$PNPM_HOME/bin:$PATH" ;;
esac
安装依赖并用pm2管理node进程
去每个项目下pmpn i安装依赖即可,然后pnpm i -g pm2安装pm2,如果是在rc.local中使用,还需要加上export PM2_HOME="/root/.pm2"。
之前的处理过程
node从手动安装切换成volta
之前都是下载二进制安装的,太原始了,先换成volta。
安装:curl https://get.volta.sh | bash -s -- --skip-setup
配置:
export VOLTA_HOME="$HOME/.volta"
export PATH="$VOLTA_HOME/bin:$PATH"
然后volta install node@22
装pnpm
安装:volta install pnpm
配置:
export PNPM_HOME=/opt/pnpm
export PATH=$PNPM_HOME:$PATH
node_modules换成同一个
去每个项目下面pnpm i

欢迎留言