在 Ubuntu 上运行 Node.js 报错的原因有很多种,常见情况如下。你可以对照看看属于哪一种,或者把具体报错信息贴出来,我可以更精准帮你分析。
报错示例
command not found: node
检查
node -v
npm -v
解决
sudo apt update
sudo apt install nodejs npm
或安装指定版本(推荐):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
报错示例
SyntaxError: Unexpected token '??'
原因 老版本 Node 不支持新语法。
解决 升级 Node(见上)
报错示例
EACCES: permission denied
解决
sudo chmod +x app.js
或不要用 sudo npm(推荐用 nvm)
报错示例
Cannot find module 'express'
解决
npm install
报错示例
Error: listen EADDRINUSE :::3000
解决
lsof -i:3000
kill -9 <pid>
Ubuntu 默认源的 Node 经常是 v10 / v12。
✅ 推荐用 nvm 安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
nvm use 20
请把下面内容发我:
lsb_release -a
node -v
node app.js)如果你愿意,可以直接把报错截图或文字发出来,我帮你逐行看。