ubuntu nodejs环境如何配置
小樊
41
2025-12-29 20:36:54
Ubuntu Node.js 环境配置指南
一 安装方式选择
- 使用 NodeSource 仓库(APT):适合服务器或需要特定版本的场景,命令简洁、系统级安装。
- 使用 NVM(Node Version Manager):适合开发者在同一台机器上管理多个 Node.js 版本,切换灵活。
- 使用 Ubuntu 官方仓库:最省事,但版本通常较旧,生产不建议直接使用。
下表对比要点:
- 版本可控性:NVM(最灵活) > NodeSource(可控) > 官方仓库(较旧)
- 多版本切换:NVM(原生支持) | NodeSource(需重装) | 官方仓库(不支持)
- 系统级 vs 用户级:NodeSource(系统级) | NVM(用户级) | 官方仓库(系统级)
- 典型场景:服务器/稳定交付(NodeSource) | 开发/多项目(NVM) | 快速试用(官方仓库)
二 安装步骤
- 方式一(推荐)NodeSource APT 安装指定或 LTS 版本
- 更新索引并添加仓库(以 LTS 为例):
sudo apt update
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
如需 18.x/20.x,将 setup_lts.x 替换为 setup_18.x/setup_20.x。
- 安装:sudo apt install -y nodejs(包含 node 与 npm)
- 验证:node -v;npm -v
- 方式二 NVM 安装与多版本管理
- 安装 NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc(如使用 zsh 则 source ~/.zshrc)
- 安装与切换:
nvm install --lts(或 nvm install 18.16.1)
nvm use --lts(或 nvm use 18.16.1)
nvm alias default 18.16.1(设置默认版本)
- 验证:node -v;npm -v
- 方式三 Ubuntu 官方仓库(仅建议快速试用)
sudo apt update && sudo apt install -y nodejs npm
注意:官方仓库版本可能较旧,生产环境不推荐。
三 配置 npm 与全局包路径
- 避免每次使用 sudo 安装全局包,建议配置用户级全局目录:
- 创建目录:mkdir -p ~/.npm-global
- 配置前缀:npm config set prefix ‘~/.npm-global’
- 写入 PATH(针对 bash):echo ‘export PATH=~/.npm-global/bin:$PATH’ >> ~/.bashrc && source ~/.bashrc
如使用 zsh:echo ‘export PATH=~/.npm-global/bin:$PATH’ >> ~/.zshrc && source ~/.zshrc
- 验证:npm config get prefix;which npm
- 国内网络可换源加速:
npm config set registry https://registry.npmmirror.com
npm config get registry
四 快速验证与第一个应用
- 创建项目并启动服务:
mkdir myapp && cd myapp
npm init -y
npm install express
cat > app.js <<‘EOF’
const express = require(‘express’);
const app = express();
app.get(‘/’, (req, res) => res.send(‘Hello from Ubuntu & Node.js’));
app.listen(3000, () => console.log(‘Server running on http://localhost:3000’));
EOF
node app.js
- 使用 PM2 守护进程:
npm install -g pm2
pm2 start app.js --name “myapp”
pm2 list
pm2 startup(按提示完成开机自启)
pm2 save
- 服务器外部访问(云服务器示例):
在云厂商控制台安全组放行 TCP 3000;本机防火墙(如 ufw/firewalld)同样需放行。
验证:curl http://<公网IP>:3000 或浏览器访问。
五 常见问题与最佳实践
- 命令未找到(command not found):安装后执行 source ~/.bashrc 或重新登录;如使用 zsh 则 source ~/.zshrc。
- 多版本并存与切换:优先使用 NVM;必要时用 nvm alias default 设置默认版本。
- 避免使用 root 运行应用:以普通用户运行,配合 PM2 或 systemd 管理进程。
- 端口与防火墙:确保云安全组与系统防火墙均放行应用端口(如 3000)。
- 版本选择:生产环境建议使用 LTS(如 18.x、20.x),兼顾稳定性与安全性。