在 Ubuntu 上 Node.js「无法启动」的原因有很多,下面按常见场景帮你排查。你可以对照看看是哪一种。
$ node
command not found: node
或
$ node -v
-bash: node: command not found
没安装
sudo apt update
sudo apt install nodejs npm
node -v
用 nvm 安装但没生效
source ~/.nvm/nvm.sh
nvm use --lts
只装了 nodejs,命令是 nodejs 不是 node(老版本 Ubuntu)
nodejs -v
建议用 nvm 或新版源安装
node app.js
马上结束,没有任何输出
listenconsole.log('hello')
// 没有 http / express listen
这是正常的,不是 Node 坏了
Error: listen EADDRINUSE :::3000
sudo lsof -i :3000
sudo kill -9 <pid>
或修改端口:
app.listen(4000)
EACCES: permission denied
sudo node app.js
或用:
sudo setcap cap_net_bind_service=+ep $(which node)
SyntaxError: Unexpected token
或某些包装不上
用 nvm 安装稳定版:
nvm install --lts
nvm use --lts
systemctl status mynode
ExecStart 路径错WorkingDirectory[Unit]
Description=Node App
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/app
ExecStart=/usr/bin/node app.js
Restart=always
[Install]
WantedBy=multi-user.target
which node
node -v
npm -v
node yourfile.js
如果你能贴出:
我可以精准告诉你哪一步出了问题。