跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Linux系统快速搭建Node.js运行环境【教程】

Ubuntu 22.04 默认 apt 安装的 Node.js 版本过旧(v12),易导致 ESM 错误、require 报错或 npm install 卡死;推荐生产环境用 NodeSource 安装 LTS 版本,开发环境用 nvm 管理多版本,或手动解压二进制包实现隔离部署。 直接用
apt
yum
装出来的
nodejs
版本太旧(Ubuntu 22.04 默认是 v12,CentOS 7 是 v10),跑现代项目大概率报错:比如
ERR_UNSUPPORTED_ESM_URL_SCHEME
require is not defined
,或者
npm install
卡死在
prebuild-install
。别硬扛,换方式。 用 NodeSource 安装 LTS 版本(推荐生产环境) NodeSource 提供官方维护的二进制包,版本可控、更新及时、无编译依赖,适合服务器长期运行。 Ubuntu/Debian 执行:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
,再
sudo apt install -y nodejs
RHEL/CentOS/Fedora 执行:
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
,再
sudo yum install -y nodejs
(CentOS 8+ 用
dnf
) 装完立刻验证:
node -v
应输出类似
v20.12.2
npm -v
10.2.2
;低于这个 npm 版本可能无法安装带
peerDependenciesMeta
的包 注意:NodeSource 不会覆盖系统自带的
node
命令冲突——它安装的是
/usr/bin/node
,和
apt
冲突时优先级由
update-alternatives
管理,但一般不会打架 用 nvm 管理多版本(开发机首选) 如果你要同时跑多个项目,有的用
node@18
,有的必须
node@20
,或需要快速验证兼容性,
nvm
是唯一靠谱方案。 php版微信js-sdk支付接口类 php版微信js-sdk支付接口类 下载 安装命令固定:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
,然后
source ~/.bashrc
(zsh 用户用
~/.zshrc
) 查可用 LTS:
nvm list-remote --lts
,装最新 LTS:
nvm install --lts
;装指定版:
nvm install 20.12.2
nvm use 20.12.2
切换当前 shell 的 Node 版本;
nvm alias default 20.12.2
设为默认,新终端自动生效 坑点:nvm 安装的
node
npm
是用户级路径(
~/.nvm/versions/...
),不写入
/usr/bin
,所以不能被 systemd 服务直接调用——部署服务时得用绝对路径,比如
/home/deploy/.nvm/versions/node/v20.12.2/bin/node app.js
手动解压二进制包(无 root 权限 / 隔离部署) 当你没有
sudo
,或想把 Node 环境和系统彻底隔离(比如 CI 构建机、容器外挂载),就下载官方
.tar.xz
包解压即用。 下载命令示例:
wget https://nodejs.org/dist/v20.12.2/node-v20.12.2-linux-x64.tar.xz
解压必须用
tar -xf
(不是
tar -xzf
):
tar -xf node-v20.12.2-linux-x64.tar.xz -C /opt
设全局命令有两种方式: → 软链接:
sudo ln -s /opt/node-v20.12.2-linux-x64/bin/node /usr/local/bin/node
(同理链
npm
) → 改
PATH
export PATH="/opt/node-v20.12.2-linux-x64/bin:$PATH"
,加到
~/.bashrc
或服务脚本里 注意:
.tar.xz
包里
bin/
下只有
node
npm
,没有
npx
——但
npm@8+
自带
npx
,只要
npm
能跑,
npx
就能用 真正容易被忽略的点是:无论哪种方式,
npm config get prefix
的输出决定了全局模块(如
pm2
nodemon
)装在哪。如果没配好权限或路径,
npm install -g
会静默失败或写入用户目录导致其他用户调用不到。动手前先确认这个值是否合理,比反复重装 Node 重要得多。

相关文章