温馨提示×

ubuntu为何nodejs报错

小樊
48
2026-09-22 01:30:13
栏目: 编程语言

在 Ubuntu 上运行 Node.js 报错的原因有很多,下面我按常见场景帮你梳理一下,你可以对照看看是哪一种,或者直接把具体报错信息贴出来,我可以更精准地帮你分析。


一、最常见原因汇总

1️⃣ Node.js 没装或装错

现象

node: command not found

解决

node -v

如果没有版本号:

sudo apt update
sudo apt install nodejs npm

⚠️ Ubuntu 自带仓库的 Node 版本通常很旧,推荐用 NodeSource 或 nvm 安装


2️⃣ Node 版本太低(ES 语法不支持)

现象

SyntaxError: Unexpected token ...

解决 查看版本:

node -v

升级(推荐 nvm):

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

3️⃣ 权限问题(EACCES)

现象

npm ERR! Error: EACCES: permission denied

解决(推荐) 不要用 sudo 装 npm 包:

npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH

4️⃣ 端口被占用(EADDRINUSE)

现象

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

解决

lsof -i:3000
kill -9 <PID>

5️⃣ 模块找不到(Cannot find module)

现象

Error: Cannot find module 'express'

解决

npm install

6️⃣ 使用 sudo 导致环境变量不对

现象

sudo node app.js 报错,普通用户没问题

解决 避免 sudo,或用:

sudo -E node app.js

7️⃣ 系统是 ARM(如树莓派 / 云服务器)

某些原生模块(如 bcrypt)会编译失败

解决

sudo apt install build-essential
npm rebuild

二、建议你直接做这 3 步

方便我快速判断:

  1. 贴出完整报错信息
  2. 执行:
    node -v
    npm -v
    
  3. 说明:
    • Ubuntu 版本(20.04 / 22.04?)
    • 怎么运行的(node app.js / npm start?)

如果你愿意,把报错原样复制过来,我可以直接告诉你是哪一行代码、为什么错、怎么改 ✅

0 踩