在 Debian 上 Node.js “无法运行”的原因很多,下面按最常见场景逐一说明,你可以对照排查。
node: command not found
Node.js 没有安装,或不在 PATH 中。
which node
node -v
如果什么都没有:
sudo apt update
sudo apt install nodejs npm
⚠️ Debian 官方源里的 Node 版本通常很旧(如 12/14)。
node -v
如果是:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
node -v
# 当前终端可用,重启后不行
nvm 没写入 shell 配置。
nvm install 20
nvm use 20
nvm alias default 20
并确保:
~/.bashrc 或 ~/.zshrc
中有:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
npm ERR! code EACCES
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
并加到:
export PATH=~/.npm-global/bin:$PATH
sudo node -v
# command not found
sudo 使用不同 PATH。
sudo which node
或:
sudo env PATH=$PATH node app.js
Executable path is not absolutenode: not found[Service]
ExecStart=/usr/bin/node /opt/app/index.js
用:
which node
确认绝对路径。
| Debian | 支持情况 |
|---|---|
| Debian 10 | Node ≤18 |
| Debian 11 | Node 18/20 |
| Debian 12 | Node 20/22 ✅ |
node -v
npm -v
which node
echo $PATH
如果你愿意,可以把具体报错信息贴出来(例如终端输出),我可以直接帮你定位是哪一类问题。