温馨提示×

Ubuntu如何编译Nodejs

小樊
36
2026-07-11 11:48:33
栏目: 编程语言

在 Ubuntu 上编译 Node.js,通常有两种方式:从源码编译使用预编译版本。如果你明确想“编译”,下面重点讲从源码编译 Node.js 的完整流程(适用于 Ubuntu 20.04 / 22.04 / 24.04)。


一、准备编译环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装编译依赖

Node.js 源码编译需要以下工具:

sudo apt install -y \
  build-essential \
  curl \
  git \
  python3 \
  python3-pip \
  libssl-dev \
  pkg-config

✅ Node.js 现在使用 Python 3,不再需要 Python 2


二、下载 Node.js 源码

方法 1:从官方下载(推荐)

查看最新 LTS 版本:https://nodejs.org/dist/

cd /usr/local/src
sudo curl -LO https://nodejs.org/dist/v20.12.2/node-v20.12.2.tar.gz
sudo tar -xzf node-v20.12.2.tar.gz
cd node-v20.12.2

方法 2:从 GitHub 克隆(适合开发)

git clone https://github.com/nodejs/node.git
cd node
git checkout v20.x  # 指定版本

三、编译 Node.js

1. 配置编译参数

./configure

常用参数:

./configure --prefix=/usr/local/nodejs

2. 编译(耗时较长)

make -j$(nproc)

-j$(nproc) 会使用所有 CPU 核心,加快编译

3. 安装

sudo make install

四、验证安装

node -v
npm -v

如果 node 命令找不到,可能是 PATH 问题。


五、配置环境变量(如需要)

如果你使用了 --prefix

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

六、常见问题

1. 编译很慢 / 内存不足

  • 减少并行数:
make -j2
  • 或增加 swap

2. Python 报错

确认 Python 3 可用:

python3 --version

七、不编译的替代方案(推荐)

如果你只是想用 Node.js,而不需要修改源码:

使用 NodeSource(最简单)

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

使用 nvm(推荐开发环境)

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

八、总结

方式 适合人群
源码编译 研究 Node.js / 定制构建
NodeSource 生产环境
nvm 本地开发

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • Node.js 版本
  • 是否用于生产 / 学习 / 内核研究

我可以给你最合适的一套方案

0