由于项目中需要用jenkins部署VUE3项目,需要更改linux中node、npm、pnpm版本,在最后一步中出现如题所述问题,网上找的资料也是windos环境下解决方案,故而编写该文。

0 找到自己的原node安装目录,先删掉原本的node:

rm -rf node-v16.14.2-linux-x64

1 下载自己需要的node版本,这里不做赘述,自行百度:
  下载安装包

wget https://registry.npmmirror.com/-/binary/node/v16.15.0/node-v16.15.0-linux-x64.tar.xz
解压  

xz -d node-v16.15.0-linux-x64.tar.xz 

tar -xvf node-v16.15.0-linux-x64.tar

2 配置环境变量vi /etc/profile,同时修改后执行source /etc/profile命令使配置生效
添加:
export NODE_HOME=/dtdp/node/node-v16.15.0-linux-x64
export PATH=$PATH:JAVA_HOME/bin:$PGHOME/bin:$NODE_HOME/bin
3 配置npm信息,回到原node解压目录下,我的是/dtdp/node/node-v16.15.0-linux-x64

执行下述命令
mkdir node_global
mkdir node_cache
npm config set prefix '/dtdp/node/node-v16.15.0-linux-x64/node_global'
npm  config set cache  '/dtdp/node/node-v16.15.0-linux-x64/node_cache'

4 修改npm镜像
npm config set registry https://registry.npm.taobao.org 
5 查看npm配置信息
npm config ls
6 下载pnpm
npm install pnpm -g
7 确定npm全局所安装的包的节点路径
 npm list -g prefix
内容如下:/dtdp/node/node-v16.15.0-linux-x64/node_global/lib
8 配置环境变量vi /etc/profile,同时修改后执行source /etc/profile命令使配置生效
 8.1 找到第7步中node_global所在路径:
 /dtdp/node/node-v16.15.0-linux-x64/node_global
 8.2 在/etc/profile中添加
 export PATH="/dtdp/node/node-v16.15.0-linux-x64/node_global/bin/:$PATH"
9 pnpm -v成功
找了半天的原因,总结为:

如果 npm install pnpm -g 命令执行正常,但是 pnpm -v 无法生效,可能是由于 mpm 全局节点路径与 linux 的 PATH 环境变量不匹配.

Logo

更多推荐