在 Debian 上,“Node.js 权限问题”通常出现在 全局安装 npm 包、运行端口 <1024、或用 sudo 执行 node/npm 时。下面按常见场景给你修复方案。
npm install -g xxx
报 EACCES: permission denied
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
然后加到环境变量:
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
✅ 之后正常用:
npm install -g yarn
sudo chown -R $USER:$USER ~/.npm
sudo chown -R $USER:$USER ~/.config
Error: listen EACCES: permission denied 0.0.0.0:80
Node 跑在 3000,Nginx 监听 80
sudo apt install libcap2-bin
sudo setcap cap_net_bind_service=+ep $(which node)
避免系统级权限问题:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
✅ nvm 下 不需要 sudo
如果你是用:
sudo apt install nodejs npm
修复方式:
sudo chown -R $USER:$USER /usr/local/lib/node_modules
⚠️ 不推荐长期使用系统 Node 做开发
whoami
groups
如果你在 Docker 或 CI 中,确保不是 root 混用导致权限混乱。
✅ Debian 开发 Node.js 最佳实践
nvmsudo npm如果你能贴出 具体报错信息,我可以精确告诉你哪一步出问题。