温馨提示×

ubuntu nodejs为什么报错

小樊
46
2026-09-09 20:32:03
栏目: 编程语言

在 Ubuntu 上运行 Node.js 报错的原因有很多,需要看具体的报错信息才能准确判断。下面我先列出 Ubuntu 上 Node.js 最常见报错及原因,你可以对照看看是哪一种。


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

报错示例

command not found: node

bash: node: command not found

原因

  • Node.js 没有安装
  • 装了但不在 PATH 中

解决

node -v

如果没版本号:

sudo apt update
sudo apt install nodejs npm

✅ 推荐用 NodeSource 安装新版本:

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

二、node 和 npm 版本太旧

报错示例

SyntaxError: Unexpected token '??'

digital envelope routines::unsupported

原因

  • Ubuntu 自带 Node 版本太老(如 v10、v12)

解决

升级 Node.js(见上面 NodeSource 方法)


三、权限问题

报错示例

EACCES: permission denied

npm ERR! code EACCES

原因

  • 用 sudo 装了全局包,普通用户无法访问

解决(推荐)

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

❌ 不建议长期使用 sudo npm install -g


四、依赖缺失(native 模块)

报错示例

gyp ERR!
cannot find -lxxx

原因

  • 缺少编译工具或系统库

解决

sudo apt install build-essential
sudo apt install python3

五、端口被占用

报错示例

Error: listen EADDRINUSE :::3000

解决

lsof -i:3000
kill -9 <PID>

六、Node 与项目不匹配

报错示例

engine "node" is incompatible

解决

nvm install 18
nvm use 18

七、你可以这样发给我更准确的信息

请把下面内容贴出来:

  1. 完整报错信息
  2. 执行的命令(如 node app.js
  3. node -vnpm -v 的输出
  4. Ubuntu 版本(lsb_release -a

我可以直接帮你定位并给出修复命令

0