温馨提示×

ubuntu nodejs配置要注意啥

小樊
33
2026-10-04 15:36:47
栏目: 编程语言

在 Ubuntu 上配置 Node.js,主要要注意版本选择、安装方式、权限、环境变量和服务管理这几块。下面按常见坑和最佳实践给你梳理一下:


一、不要直接用 apt 默认源(很重要)

Ubuntu 自带的 apt install nodejs 版本通常很老(比如 12.x、14.x),不满足现代项目需求。

推荐方式:

1. 使用 NodeSource(最常用)

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

验证:

node -v
npm -v

2. 使用 nvm(推荐开发环境)

适合多版本切换:

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

✅ 优点:不影响系统、可多版本共存


二、避免使用 root 跑 npm(权限坑)

直接用 sudo npm install -g 容易出权限问题。

方案 1(推荐):改 npm 全局目录

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'

加到 ~/.bashrc:

export PATH=~/.npm-global/bin:$PATH

方案 2:用 nvm(天然无 root 问题)


三、环境变量 & 端口注意

  • Node 服务常用端口:3000 / 8080
  • Ubuntu 防火墙:
sudo ufw allow 3000
  • 云服务器还要开安全组

四、生产环境建议

用 pm2 管理进程

npm install -g pm2
pm2 start app.js
pm2 startup
pm2 save

或用 systemd(更“Ubuntu”)

示例 /etc/systemd/system/nodeapp.service:

[Unit]
Description=Node App
After=network.target

[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/app
ExecStart=/usr/bin/node app.js
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl enable nodeapp
sudo systemctl start nodeapp

五、常见坑总结

❌ apt 装的老版本 node
❌ 用 root 跑 npm 导致权限乱
❌ 没开防火墙/安全组
❌ 直接用 node app.js 跑生产
❌ 忘了 npm install 就启动


如果你能说下是开发用还是服务器部署、Ubuntu 版本(20.04 / 22.04 / 24.04),我可以直接给你一套最合适的最小配置命令。

0 踩