Node.js安装指南
原创...大约 4 分钟
摘要
本文详细介绍了在Linux系统上安装Node.js的多种方法:使用包管理器、NVM工具和从源代码编译安装。针对不同Linux发行版提供了具体步骤,并包含常见问题的故障排除指南,帮助读者顺利完成Node.js环境的搭建。同时提供了各种安装方式的完整卸载方法。
1. 使用包管理器安装
1.1 CentOS/RHEL
EPEL仓库方式(较旧版本)
# 安装EPEL仓库
sudo yum install epel-release -y
# 安装Node.js
sudo yum install nodejs -y
# 验证安装
node -v
# 完全卸载
sudo yum remove nodejs npm -y
sudo yum clean all
NodeSource仓库方式(推荐)
# 添加NodeSource仓库(以Node.js 20.x为例)
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
# 安装Node.js
sudo yum install -y nodejs
# 验证安装
node -v
npm -v
# 完全卸载
sudo yum remove -y nodejs
sudo rm -rf /etc/yum.repos.d/nodesource*.repo
sudo yum clean all
# 删除可能的残留文件
sudo rm -rf /usr/lib/node_modules
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm
1.2 Ubuntu/Debian
# 添加NodeSource仓库
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
# 安装Node.js
sudo apt-get install -y nodejs
# 验证安装
node -v
npm -v
# 完全卸载
sudo apt-get purge -y nodejs
sudo apt-get autoremove -y
sudo rm -rf /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
# 删除残留文件
sudo rm -rf /usr/lib/node_modules
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm
2. 使用NVM安装(推荐)
NVM (Node Version Manager) 允许在同一系统上安装和管理多个Node.js版本。
# 安装NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 加载NVM环境(或重新打开终端)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# 查看可用的Node.js版本
nvm list-remote
# 安装特定版本的Node.js
nvm install 20.19.4
# 切换Node.js版本
nvm use 16.20.2
# 设置默认版本
nvm alias default 20.19.4
# 验证安装
node -v
npm -v
# 卸载特定版本
nvm uninstall 20.19.4
# 完全卸载NVM及所有Node.js版本
rm -rf ~/.nvm
# 从 ~/.bashrc, ~/.zshrc, ~/.profile 等文件中删除NVM相关行
# 例如删除以下类似行:
# export NVM_DIR="$HOME/.nvm"
# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
3. 从源代码编译安装
3.1 安装依赖
# CentOS/RHEL
sudo yum groupinstall -y "Development Tools"
sudo yum install -y python3 gcc-c++ make openssl-devel
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y python3 g++ make libssl-dev
3.2 下载源代码
# 下载Node.js源代码
wget https://nodejs.org/dist/v20.19.4/node-v20.19.4.tar.gz
# 解压源代码
tar -xzf node-v20.19.4.tar.gz
# 进入源代码目录
cd node-v20.19.4
3.3 编译安装
# 配置编译选项(指定安装目录)
./configure --prefix=/usr/local/node
# 编译(使用多核加速)
make -j$(nproc)
# 安装
sudo make install
# 配置环境变量
echo 'export PATH=/usr/local/node/bin:$PATH' | sudo tee /etc/profile.d/nodejs.sh
source /etc/profile.d/nodejs.sh
# 验证安装
node -v
npm -v
# 卸载源码编译安装的Node.js
sudo rm -rf /usr/local/node
sudo rm -f /etc/profile.d/nodejs.sh
# 重新登录终端或执行以下命令使环境变量更改生效
source /etc/profile
4. 系统要求与版本选择
4.1 系统要求
Node.js版本 | 最低系统要求 |
---|---|
Node.js 20.x | CentOS/RHEL 8+, Ubuntu 20.04+, GCC 10+ |
Node.js 18.x | CentOS/RHEL 7+, Ubuntu 18.04+, GCC 8+ |
Node.js 16.x | CentOS/RHEL 7+, Ubuntu 16.04+, GCC 6+ |
4.2 版本选择建议
- 生产环境:优先选择LTS(长期支持)版本
- 开发环境:可以使用最新的Current版本
- 旧系统:CentOS 7等旧系统建议使用Node.js 16.x
5. 故障排除
5.1 权限问题
# 解决全局包安装权限问题
mkdir -p ~/.npm-global
npm config set prefix ~/.npm-global
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
5.2 依赖问题
- CentOS 7编译错误:如果遇到C++编译器版本过旧错误,可使用devtoolset:
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-10-gcc devtoolset-10-gcc-c++
source /opt/rh/devtoolset-10/enable
# 然后再次尝试编译
- 库版本不兼容:如果出现GLIBC或GLIBCXX版本错误,建议使用NVM安装兼容的Node.js版本。
5.3 卸载检查
# 检查是否有残留Node.js文件
which node
which npm
# 查找可能的残留文件
find /usr -name "*node*"
find /usr/local -name "*node*"
find /opt -name "*node*"
# 检查全局npm包
ls -la /usr/lib/node_modules
ls -la /usr/local/lib/node_modules
# 检查环境变量中的Node.js相关路径
echo $PATH | tr ':' '\n' | grep -i node
# 检查配置文件中的Node.js相关设置
grep -r "node" ~/.bashrc ~/.profile /etc/profile /etc/profile.d/
6. 完全卸载Node.js的通用步骤
无论使用何种方式安装,以下步骤可以帮助彻底清除Node.js:
# 1. 使用相应的包管理器卸载
# 对于yum/dnf:
sudo yum remove -y nodejs npm
# 对于apt:
sudo apt-get purge -y nodejs npm
# 2. 删除NVM(如果使用了NVM)
rm -rf ~/.nvm
# 从配置文件中删除NVM相关行
# 3. 删除源码安装的Node.js
sudo rm -rf /usr/local/node
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/local/bin/npm
sudo rm -f /etc/profile.d/nodejs.sh
# 4. 删除全局npm包和缓存
sudo rm -rf /usr/lib/node_modules
sudo rm -rf /usr/local/lib/node_modules
rm -rf ~/.npm
# 5. 删除Node.js配置文件
rm -rf ~/.node-gyp
rm -f ~/.npmrc
# 6. 检查并删除其他可能的安装位置
sudo rm -rf /opt/node
# 7. 更新系统缓存
# 对于yum/dnf:
sudo yum clean all
# 对于apt:
sudo apt-get update
# 8. 检查是否完全删除
which node
which npm
Powered by Waline v3.6.0