在 Debian 上跑 Node.js,常见的“坑点”主要集中在版本管理、权限、系统包冲突、服务部署等方面。下面按使用场景给你梳理一下:
Debian 官方源里的 nodejs 通常非常旧:
很多现代项目(Next.js、Vite、NestJS)需要 Node 18 / 20+。
✅ 不要用 apt 默认 nodejs 做开发 推荐方式:
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs
nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
nvm install 20
Debian 下直接用:
npm install -g xxx
可能报:
EACCES: permission denied
✅ 不要 sudo npm
推荐方案:
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
或直接使用 nvm(天然隔离)
/usr/bin/node/usr/local/bin/node导致:
which node
node -v
不一致,脚本调用错版本。
which -a node
确保 PATH 顺序正确,或卸载系统 node:
apt remove nodejs
.env 不加载)[Unit]
Description=Node App
After=network.target
[Service]
User=node
WorkingDirectory=/var/www/app
ExecStart=/usr/bin/node index.js
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
npm config set registry https://registry.npmmirror.com
node:xx 官方镜像基于 Debianslim,但缺 build-essential解决:
apt update && apt install -y build-essential python3
Debian 跑 Node.js 最大的坑:别用系统 apt 的 Node
如果你愿意,可以告诉我:
我可以给你更针对性的建议。