温馨提示×

Ubuntu Nodejs为何报错

小樊
33
2026-07-23 13:24:30
栏目: 编程语言

Ubuntu 上 Node.js 报错 的原因很多,不能一概而论。下面我按最常见场景给你系统梳理一下,并给出排查思路。你可以对照看看属于哪一类。


一、最常见报错类型与原因

1️⃣ node: command not found

原因

  • Node.js 未安装
  • 或安装路径不在 PATH

解决

node -v

如果没版本号:

sudo apt update
sudo apt install nodejs npm

✅ 推荐方式(更稳):

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

2️⃣ npm: command not found

原因

  • npm 没安装
  • 或 Node 安装不完整

解决

sudo apt install npm

或:

sudo apt install nodejs npm

3️⃣ 端口被占用(如 3000、8080)

报错示例

Error: listen EADDRINUSE: address already in use :::3000

解决

lsof -i:3000
kill -9 PID

或换端口:

app.listen(3001)

4️⃣ 权限错误(EACCES)

报错示例

EACCES: permission denied

解决 ❌ 不推荐:

sudo node app.js

✅ 推荐:

sudo chown -R $USER:$USER /项目目录

或用 nvm 安装 Node(避免权限问题)


5️⃣ Node 版本过低 / 过高

报错示例

SyntaxError: Unexpected token '??='

解决

node -v

建议版本:

  • 旧项目:Node 14 / 16
  • 新项目:Node 18 / 20

nvm 管理:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 18
nvm use 18

6️⃣ 依赖安装失败

报错示例

npm ERR! code ERESOLVE

解决

rm -rf node_modules package-lock.json
npm install

或:

npm install --legacy-peer-deps

7️⃣ Ubuntu 系统包冲突

报错示例

The following packages have unmet dependencies

解决

sudo apt -f install
sudo apt autoremove

二、快速自检清单 ✅

node -v
npm -v
which node
which npm

如果以上有任何异常,说明环境有问题。


三、强烈推荐方案(避免 90% 问题)

使用 nvm(Node Version Manager)

nvm install 18
nvm use 18

优点:

  • 不污染系统
  • 不怕权限问题
  • 多版本共存

四、如果你愿意直接定位问题

你可以把完整报错信息贴出来,例如:

  • 终端截图
  • 报错前执行的命令
  • Node / npm 版本

我可以直接帮你精准定位 + 给出一条可执行的解决方案

0