温馨提示×

centos如何编译nodejs

小樊
50
2026-10-17 11:54:32
栏目: 编程语言

在 CentOS 上编译 Node.js,通常有两种常见方式:

  1. 从源码编译安装(官方源码)
  2. 使用第三方工具(如 nvm / n 管理版本,本质也是下载预编译或编译)

下面主要讲 从源码编译 Node.js(适合需要自定义参数或特定版本)。


一、准备工作(安装编译依赖)

以 CentOS 7 / 8 为例:

# 安装编译所需工具
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc-c++ make python3

⚠️ 注意

  • Node.js 新版本要求 Python 3
  • 旧版 CentOS 若 Python 是 2.x,需要单独装 Python 3

查看版本:

gcc --version
make --version
python3 --version

二、下载 Node.js 源码

到官网找版本: https://nodejs.org/dist/

例如编译 Node.js 20:

cd /usr/local/src
wget https://nodejs.org/dist/v20.11.1/node-v20.11.1.tar.gz
tar -xzf node-v20.11.1.tar.gz
cd node-v20.11.1

三、配置编译参数

./configure \
  --prefix=/usr/local/node20 \
  --enable-lto

常用参数说明:

  • --prefix:安装路径
  • --enable-lto:开启链接时优化(更快但编译慢)
  • --without-intl:不编译国际化(体积小)

四、编译并安装

make -j$(nproc)
sudo make install

⏰ 编译时间视 CPU 性能,一般 10–30 分钟


五、配置环境变量

echo 'export PATH=/usr/local/node20/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证:

node -v
npm -v

六、常见问题

1. Python 版本错误

报错类似:

Python 3 required

解决:

sudo yum install python3
./configure --python=python3

2. glibc 版本过低

CentOS 6 编译新版 Node 会失败,建议:

  • 升级系统
  • 或使用官方预编译二进制

3. 编译太慢

可减少优化:

./configure --without-intl
make -j$(nproc)

七、更简单的方式(推荐)

如果 不需要源码编译,直接用官方二进制:

wget https://nodejs.org/dist/v20.11.1/node-v20.11.1-linux-x64.tar.xz
tar -xf node-v20.11.1-linux-x64.tar.xz
ln -s $(pwd)/node-v20.11.1-linux-x64 /usr/local/node

或用 nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 需要的 Node 版本
  • 是否必须源码编译

我可以给你精确命令。

0 踩