在 CentOS 上编译 Node.js,通常有两种常见方式:
下面主要讲 从源码编译 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
到官网找版本: 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
报错类似:
Python 3 required
解决:
sudo yum install python3
./configure --python=python3
CentOS 6 编译新版 Node 会失败,建议:
可减少优化:
./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
如果你告诉我:
我可以给你精确命令。