温馨提示×

centos编译nodejs要怎么做

小樊
63
2026-09-11 18:23:05
栏目: 编程语言

在 CentOS 上编译(从源码构建)Node.js,一般步骤如下。以 CentOS 7 / 8 为例(新版 Node 需要较新 GCC)。


一、准备编译环境

1. 安装基础依赖

sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc-c++ make python3 git wget

⚠️ 注意

  • Node.js 18+ 需要 GCC ≥ 10
  • CentOS 7 默认 GCC 是 4.8,必须升级

二、升级 GCC(CentOS 7 必须)

使用 SCL(推荐)

sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
scl enable devtoolset-11 bash

验证:

gcc --version

每次新开 shell 都要 scl enable devtoolset-11 bash
或写进 ~/.bashrc


三、下载 Node.js 源码

去官网复制源码包地址: https://nodejs.org/en/download/

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

四、编译 Node.js

1. 配置

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

参数说明:

  • --prefix:安装路径
  • --enable-lto:开启链接时优化(可选)

2. 编译(耗时较长)

make -j$(nproc)

3. 安装

sudo make install

五、配置环境变量

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

验证:

node -v
npm -v

六、常见问题

1. Python 版本不对

Node 需要 Python 3:

python3 --version

如不是默认 python:

./configure --python=python3

2. 内存不足

编译失败可减小并发:

make -j2

3. CentOS 8 已 EOL

建议使用:

  • Rocky Linux
  • AlmaLinux
  • 或直接用 Node 官方二进制

七、更简单的替代方案(不编译)

如果不一定要编译:

# 二进制包
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

或使用 nvm:

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

如果你说明:

  • CentOS 版本
  • Node 版本
  • 是否必须源码编译

我可以给你精确命令。

0 踩