当前位置: 首页 > news >正文

不同Linux发行版Node安装指南

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
http://www.vanclimg.com/news/932.html

相关文章:

  • 虚化引擎游戏解包工具
  • Qcom dcvs_epss.c 驱动解析.
  • AirSim+PX4+QGC实现无人机自动避障
  • js基础第五天
  • 简单了解高阻抗(High-Z)
  • docker安装
  • 二进制简史:从理论到芯片
  • js基础第四天
  • 同时点亮LED、数码管以及点阵
  • 关于跨域的一点新理解
  • js基础第三天
  • 龙哥量化:股票期货- 精华资料目录
  • 2025省选组合数学笔记
  • FM2023利兹联崛起之路#1
  • 07.08 论文精读 人像线稿生成模型
  • 暑训#3补题
  • 【LeetCode 141】算法:环形链表
  • 春训#2题解
  • 国内AI编码工具哪家强CodeBuddy+通义灵码+Trae
  • js基础第二天
  • [PaperReading] Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets
  • Wireshark入门指南:网络流量分析利器
  • 2025/7/28 总结
  • 7.27 周总结
  • 存贮电解液配方的二进制格式与解析它的010 Editor的模板
  • 读《大道至简——软件工程实践者的思想》有感
  • 垃圾话1
  • 春训#1题解
  • js第一天
  • java学习(大道至简读后感)