Ubuntu上如何使用Node.js进行开发
小樊
35
2025-11-18 11:20:56
Ubuntu 上使用 Node.js 进行开发
一 安装与环境准备
- 更新系统并安装必要工具:
- sudo apt update && sudo apt install -y curl
- 选择一种安装方式(三选一):
- 使用 NodeSource 安装指定版本(示例为 Node.js 20.x):
- curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
- sudo apt install -y nodejs
- 使用 nvm(Node Version Manager,便于多版本切换):
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- source ~/.bashrc
- nvm install --lts
- nvm use --lts
- nvm alias default --lts
- 使用 Ubuntu 官方仓库(版本通常较旧,适合稳定环境):
- sudo apt install -y nodejs npm
- 验证安装:
- 建议:开发时优先选择 LTS 版本;如需最新特性,再安装 Current 并用 nvm 管理多版本。
二 创建项目与依赖管理
- 初始化项目:
- mkdir my-node-app && cd my-node-app
- npm init -y
- 安装依赖:
- npm install express
- npm install --save-dev nodemon
- 使用 nodemon 进行开发热重载:
- 在 package.json 中添加脚本:
- “scripts”: { “dev”: “nodemon app.js” }
- 启动开发服务:
- 常用全局开发工具(可选):
- npm install -g pm2 # 进程守护与集群管理
- npm install -g yarn # 替代包管理器
- 小示例 app.js(HTTP 服务):
- const express = require(‘express’);
const app = express();
const port = process.env.PORT || 3000;
app.get(‘/’, (req, res) => res.send(‘Hello, Ubuntu + Node.js’));
app.listen(port, () => console.log(
Server listening on port ${port}));)
三 调试与运行
- 直接运行:
- 调试方式:
- 使用 node inspect 或 –inspect 配合 Chrome DevTools:
- node --inspect app.js
- 在 Chrome 打开:chrome://inspect
- 结合 nodemon 自动重启调试:
- 进程守护与日志:
- 使用 pm2 启动与守护:
- pm2 start app.js --name “my-app”
- pm2 logs my-app
- pm2 startup # 开机自启(按提示完成)
四 常用配置与优化
- 配置 npm 全局目录(避免 sudo 全局安装):
- mkdir ~/.npm-global
- npm config set prefix ‘~/.npm-global’
- echo ‘export PATH=~/.npm-global/bin:$PATH’ >> ~/.bashrc
- source ~/.bashrc
- 切换 Node 版本(nvm):
- nvm list-remote
- nvm install 18
- nvm use 18
- nvm alias default 18
- 提升 npm 安装速度(使用国内镜像):
- npm config set registry https://registry.npmmirror.com
- 使用 npx 直接运行本地/远程包:
- npx eslint .
- npx create-react-app my-app
五 常见问题排查
- 命令未找到(node/npm 不存在或 nvm 未生效):
- 确认已执行 source ~/.bashrc 或新开终端;检查 echo $PATH 是否包含 Node 安装路径(nvm 一般为 ~/.nvm/versions/node//bin)。
- 权限错误(全局安装失败):
- 优先使用 ~/.npm-global 方案;或确保当前用户对目标目录有写权限。
- 端口被占用:
- lsof -i :3000 查看占用进程并 kill,或更改应用端口。
- 依赖安装缓慢或失败:
- 切换为国内镜像源(如 npmmirror.com),或检查网络与磁盘空间。