推荐用nvm或nodesource安装:nvm适合需切换多版本的开发者,nodesource适合需新版lts的生产环境;直接apt安装版本过旧(如ubuntu 24.04自带v18.x),不推荐开发使用。

直接装 nodejs 和 npm 包,大多数情况下能用,但版本往往太旧(比如 Ubuntu 24.04 自带的还是 v18.x),不推荐用于开发;真正靠谱的安装方式是用 nvm 或 NodeSource 仓库——前者适合要切版本的开发者,后者适合想省事又需要新版 LTS 的人。
用 NodeSource 安装指定 LTS 版本(推荐给生产环境)
NodeSource 提供的是官方编译好的二进制包,比系统源新、比手动解压省心,且自动注册为系统服务、配置好 PATH。
- Ubuntu/Debian:运行
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -,再执行sudo apt-get install -y nodejs - CentOS/RHEL 8+:先
sudo dnf install -y yum-plugin-copr,再sudo dnf copr enable @nodesource/nodejs,最后sudo dnf install -y nodejs - 验证是否装对:
node --version应输出类似v20.18.0,npm --version应 ≥10.8.0(v20.x 自带 npm 10+) - 注意:如果之前用
apt install nodejs装过旧版,得先sudo apt purge nodejs npm再清缓存,否则可能冲突
用 nvm 管理多版本 Node.js(推荐给前端/全栈开发者)
nvm 不动系统级路径,所有版本隔离在 ~/.nvm 下,node 和 npm 命令随版本自动切换,适合同时维护多个项目(比如一个用 v18,一个必须跑 v20)。
- 安装
nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash,然后source ~/.bashrc(或~/.zshrc) - 查可用 LTS:
nvm list-remote --lts,会列出lts/hydrogen、lts/iron等代号(当前最新 LTS 是lts/iron,对应 v20.18.x) - 装并设默认:
nvm install --lts→nvm alias default 'lts/iron' - 关键点:
nvm安装的npm是绑定在每个 Node 版本下的,nvm use 20后npm就是那个版本自带的,别单独升级npm到全局
手动解压二进制包(适合离线/容器/严格路径控制场景)
适用于不能联网、或需将 Node 固定在 /opt 这类受管目录的运维场景。它不依赖包管理器,但要自己配 PATH,且 npm 可执行文件默认就在 bin/ 目录里,不用额外装。
- 下载:
wget https://nodejs.org/dist/v20.18.0/node-v20.18.0-linux-x64.tar.xz - 解压到
/opt:sudo tar -xf node-v20.18.0-linux-x64.tar.xz -C /opt - 加软链:
sudo ln -s /opt/node-v20.18.0-linux-x64/bin/node /usr/local/bin/node,同理链npm - 或者更稳妥的做法是改
PATH:echo 'export PATH=/opt/node-v20.18.0-linux-x64/bin:$PATH' >> ~/.bashrc && source ~/.bashrc - 注意:若系统已有
/usr/bin/node(来自nodejs包),软链前得先sudo rm /usr/bin/node /usr/bin/npm,否则which node还会指向旧版
最容易被忽略的一点:无论哪种方式,npm 都不是独立安装项——它随 nodejs 二进制包一起发布。只要 node 路径正确,npm 就一定在同级 bin/ 目录下;强行分开装或用 npm install -g npm 升级,反而容易导致 npm 和 node ABI 不兼容,出现 ERR_OSSL_EVP_UNSUPPORTED 或 Cannot find module 'npm' 这类报错。











