下面给你一份在 Debian 系统上配置 Node.js 的常用方案,从安装、版本管理、环境变量、镜像加速到常见配置,基本覆盖生产/开发场景。
适合需要指定 Node.js 版本的情况。
# 1. 安装依赖
sudo apt update
sudo apt install -y curl
# 2. 导入 NodeSource(以 Node 20.x 为例)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
# 3. 安装 Node.js
sudo apt install -y nodejs
# 4. 验证
node -v
npm -v
可选版本:
setup_18.xsetup_20.xsetup_22.x多版本切换最方便
# 1. 安装 NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 2. 重新加载 shell
source ~/.bashrc
# 3. 安装 Node.js
nvm install 20
nvm use 20
# 4. 设置默认版本
nvm alias default 20
优点:
✅ 不污染系统环境
✅ 多项目多 Node 版本
✅ 不需要 sudo
版本较旧,仅适合简单测试。
sudo apt update
sudo apt install nodejs npm
npm config set registry https://registry.npmmirror.com
查看:
npm config get registry
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
添加到环境变量:
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
示例:/etc/systemd/system/nodeapp.service
[Unit]
Description=Node.js App
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/app
ExecStart=/usr/bin/node /var/www/app/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动:
sudo systemctl daemon-reload
sudo systemctl start nodeapp
sudo systemctl enable nodeapp
sudo apt install ufw
sudo ufw allow 3000
sudo ufw enable
✅ 不要使用 root 运行 Node
✅ 使用 pm2 管理进程
✅ 设置 NODE_ENV
export NODE_ENV=production
安装 pm2:
npm install -g pm2
pm2 start app.js
pm2 save
pm2 startup
which node
echo $PATH
✅ 使用 nvm
✅ 或配置 ~/.npm-global
| 场景 | 推荐 |
|---|---|
| 开发 | NVM |
| 生产 | NodeSource + systemd |
| 多版本 | NVM |
| 国内网络 | npmmirror |
如果你愿意,可以告诉我:
我可以给你一份完全针对你环境的配置方案。