温馨提示×

ubuntu nodejs为何无法启动

小樊
40
2026-09-16 00:05:38
栏目: 编程语言

在 Ubuntu 上 Node.js「无法启动」的原因有很多,下面按常见场景帮你排查。你可以对照看看是哪一种。


一、命令找不到(最常见)

现象

$ node
command not found: node

$ node -v
-bash: node: command not found

原因 & 解决

  1. 没安装

    sudo apt update
    sudo apt install nodejs npm
    node -v
    
  2. 用 nvm 安装但没生效

    source ~/.nvm/nvm.sh
    nvm use --lts
    
  3. 只装了 nodejs,命令是 nodejs 不是 node(老版本 Ubuntu)

    nodejs -v
    

    建议用 nvm 或新版源安装


二、Node 启动了但立刻退出

现象

node app.js

马上结束,没有任何输出

原因

  • 脚本里没有 listen
  • 程序跑完就退了(不是服务)

示例

console.log('hello')
// 没有 http / express listen

这是正常的,不是 Node 坏了


三、端口被占用

现象

Error: listen EADDRINUSE :::3000

解决

sudo lsof -i :3000
sudo kill -9 <pid>

或修改端口:

app.listen(4000)

四、权限问题

现象

EACCES: permission denied

常见情况

  • 监听 80 / 443 端口(需要 root)
  • 写文件没权限

解决

sudo node app.js

或用:

sudo setcap cap_net_bind_service=+ep $(which node)

五、Node 版本不兼容

现象

SyntaxError: Unexpected token

或某些包装不上

解决

用 nvm 安装稳定版:

nvm install --lts
nvm use --lts

六、systemd 服务无法启动(生产环境)

现象

systemctl status mynode

常见错误

  • ExecStart 路径错
  • 没写 WorkingDirectory
  • 用户没权限

示例 service

[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

如果你能贴出:

  • 报错信息(完整)
  • 启动方式(命令 / systemd / Docker)
  • Ubuntu 版本
  • Node 安装方式(apt / nvm)

我可以精准告诉你哪一步出了问题

0