温馨提示×

debian配置nodejs要注意啥

小樊
42
2026-09-17 12:31:49
栏目: 编程语言

在 Debian 上配置 Node.js,有几个常见坑和推荐做法需要注意,下面按「重要性 + 实战经验」给你梳理一下。


一、不要用 apt 默认源里的 Node.js(重要)

Debian 官方仓库里的 Node.js 通常版本很旧,例如 Debian 11 可能还是 Node 12,不适合现代项目。

✅ 推荐方式:

  • NodeSource 官方源
  • 或使用 nvm(Node Version Manager)

二、推荐方案 1:NodeSource 安装(服务器常用)

适合:生产环境 / 服务器

# 以 Node 20 为例
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

验证:

node -v
npm -v

✅ 优点:

  • 版本新
  • 系统级安装
  • 适合服务运行

⚠ 注意:

  • 不要用 sudo npm -g
  • 全局包权限问题容易出事

三、推荐方案 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

✅ 优点:

  • 不影响系统
  • 可多版本共存
  • 不需要 sudo

⚠ 注意:

  • 服务启动时要用 nvm 环境
  • systemd 服务要指定 nvm 路径

四、权限问题(最坑的一点)

❌ 错误做法:

sudo npm install -g xxx

✅ 正确做法(二选一):

  1. 用 nvm(推荐)
  2. 或修改 npm 全局目录:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH

五、生产环境运行 Node 服务

不要直接 node app.js 跑前台。

✅ 推荐:

  • pm2
npm i -g pm2
pm2 start app.js

systemd(更稳定)


六、防火墙 & 端口

Debian 常见:

  • ufw
  • iptables
sudo ufw allow 3000

云服务器还要看安全组


七、常见坑总结

问题 原因
node 版本老 用了 apt 默认源
EACCES 错误 全局包用了 sudo
pm2 重启失效 没 save / 没开机启动
systemd 找不到 node 用了 nvm 但路径错

八、一句话建议

服务器用 NodeSource + pm2,开发机用 nvm


如果你愿意,可以告诉我:

  • Debian 版本(11 / 12?)
  • 用途(开发 / 生产 / Docker?)
  • 是否用框架(Next / Nest / Express?)

我可以直接给你一套可复制的配置命令

0