在 Ubuntu 上运行 Node.js 报错,原因有很多种。下面我按常见错误类型 + 解决思路给你一个排查清单,你可以对照看看是哪一种。
command not found: node原因: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
EACCES: permission denied原因:全局安装包没权限。
错误示例
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
解决(推荐不滥用 sudo)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Cannot find module 'xxx'原因:依赖没装。
解决
rm -rf node_modules package-lock.json
npm install
如果是全局模块:
npm install -g xxx
错误示例
Error: listen EADDRINUSE :::3000
解决
lsof -i:3000
kill -9 <PID>
或改端口:
app.listen(4000)
错误示例
SyntaxError: Unexpected token '??'
解决 升级 Node:
node -v
建议 ≥ 18(LTS)
npm ls 看依赖node app.js 而不是双击journalctl -u your-service
请把以下信息发我:
node -vnpm -vlsb_release -a)我可以一步一步帮你修。