NVM 是一个非常方便的node包管理工具,可以实现在NodeJS 各个不同版本之间自由的进行切换。本章介绍用root权限安装NVM工具。
1、目录
/etc/profile 最后行添加以下:
export NVM_BIN="/usr/local/nvm/versions/node" # node安装地址
export NVM_DIR="/usr/local/nvm" # nvm安装地址
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm# 更新配置
source /etc/profile
2、安装nvm
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
3、其他用户使用nvm
root安装后其他用户没有权限,需其他用户在根目录.bashrc 添加以下内容:
source /usr/local/nvm/nvm.sh
4、nvm相关命令
nvm list available // 查看可安装的Node.js版本
nvm install <版本号> // 安装指定版本的Node.js
nvm use <版本号> // 切换使用指定版本的Node.js
nvm ls // 查看已经安装的Node.js版本
nvm list // 查看已经安装的版本
nvm uninstall <版本号> // 卸载node版本
nvm version // 查看当前node版本号
nvm alias default <版本号> //设置默认的node.js版本
5、Jenkins执行脚本npm命令报错 npm: command not found
解决方案:
查询系统环境变量: echo $PATH
服务器的环境变量添加到Jenkins
位置:【系统管理】->【系统设置】->【全局属性】->【环境变量】
做如下配置:
6、terser 报错
terser not found. Since Vite v3, terser has become an optional dependency. You need to install it
root用户在jenkins目录执行:
npm i terser -D --legacy-peer-deps
// 参数说明忽略冲突
7、解决root用户安装nvm后其他用户无法使用nvm问题处理
1、安装nodejs和npm
nodejs>=12版本,需使用nvm安装
本次是由于需要安装jupyterlab插件才需要安装nodejs,所以要求nodejs版本>=12
使用nvm安装可以管理多个node.js版本
2. nvm安装node.js
不使用sudo, 会让 root 用户启用这个脚本,使非root用户无法使用nvm
若使用了sudo/用root用户运行了下面命令,解决方法见下面
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
命令作用:克隆Github 上的 NVM 仓库到~/.nvm目录并且添加 nvm 路径到 Bash 或者 ZSH profile 文件
打开一个新的 shell 会话才会在你的centos系统上启动nvm脚本
3. 安装node**
安装最新稳定的 Node.js 版本:
nvm install node
4. 其他nvm命令
安装两个/更多版本,最新 LTS 版本和版本 10.16.0:
nvm install --lts
nvm install 10.16.0
列出所有已经安装的 Node.js 版本:
nvm ls
改变当前可用的版本号,比如:v12.13.0,你可以运行:
nvm use v12.13.0
改变 Node.js 的默认版本,比如改到v12.13.0,使用:
nvm alias default v12.13.0
5. 使用root用户安装了nvm
~/.nvm目录 移到 非root用户可访问路径;
- root改环境变量;
- 非root加环境变量
root用户安装nvm,非root用户无法使用nvm
root用户家目录(/root)下:有.nvm文件,.bashrc文件中有nvm环境变量,NVM_DIR="$HOME/.nvm"
非root用户家目录下:有.nvm文件,.bashrc文件中没有nvm环境变量
<1>将/root/.nvm文件夹移动到了/usr/local/src
cp -R /root/.nvm /usr/local/src
<2>修改root用户.bashrc文件
将nvm的安装路径修改成/usr/local/src/.nvm
NVM_DIR="/usr/local/src/.nvm"
<3>重启.bashrc文件
source ~/.bashrc
<4>非root用户添加nvm环境变量
export NVM_DIR="/usr/local/src/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
<5>重启.bashrc文件
source ~/.bashrc