温馨提示×

如何在 Debian 上使用 Node.js 进行开发

小樊
41
2025-12-07 05:16:04
栏目: 编程语言

在 Debian 上进行 Node.js 开发

一 安装 Node.js 与 npm

  • 更新索引并安装基础工具
    • sudo apt update && sudo apt install -y curl ca-certificates gnupg lsb-release
  • 方式一 NodeSource 仓库安装(推荐,版本可控)
    • 选择 LTS 或指定版本(示例为 20.x):
      • curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    • 安装 Node.js 与 npm:
      • sudo apt-get install -y nodejs
    • 验证:
      • node -v
      • npm -v
  • 方式二 NVM 多版本管理(适合切换版本)
    • 安装 NVM:
      • curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    • 加载 NVM 并安装 Node.js:
      • source ~/.bashrc
      • nvm install --lts
      • nvm use --lts
    • 验证:
      • node -v
      • npm -v
  • 方式三 系统仓库安装(简单但不一定是最新 LTS)
    • sudo apt install -y nodejs npm
    • 验证:
      • node -v
      • npm -v 说明:NodeSource 与 NVM 是在 Debian 上常用且可靠的安装方式;一般建议优先选择 LTS 版本以获得更稳定的 API 与安全性支持。

二 开发工具与全局配置

  • 代码编辑器
    • 安装 VS Code(Debian 官方仓库或 Microsoft APT 源均可):
      • sudo apt update && sudo apt install -y wget gpg
      • wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
      • sudo install -D -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/packages.microsoft.gpg
      • echo “deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main” | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
      • sudo apt update && sudo apt install -y code
  • 国内镜像加速(可选)
    • npm 镜像:
      • npm config set registry https://registry.npmmirror.com
    • 或使用 corepack 管理包管理器(Node.js ≥ 16.13 自带):
      • corepack enable
  • 全局包目录与 PATH(避免权限问题)
    • mkdir -p ~/.npm-global
    • npm config set prefix ‘~/.npm-global’
    • echo ‘export PATH=~/.npm-global/bin:$PATH’ >> ~/.bashrc
    • source ~/.bashrc
  • 常用全局开发工具
    • npm i -g pnpm yarn
    • npm i -g typescript ts-node @types/node
    • npm i -g nodemon 以上配置可显著提升依赖安装速度与日常开发体验。

三 创建并运行第一个项目

  • 初始化项目
    • mkdir -p ~/projects/hello-node && cd $_
    • npm init -y
  • 安装依赖(示例:Express)
    • npm i express
  • 入口文件 index.js
    • cat > index.js <<‘EOF’ const express = require(‘express’); const app = express(); const port = process.env.PORT || 3000; app.get(‘/’, (_req, res) => res.send(‘Hello, Debian & Node.js!’)); app.listen(port, () => console.log(Server listening on http://localhost:${port})); EOF
  • 启动与调试
    • 开发模式:nodemon index.js
    • 生产模式:node index.js
    • 浏览器访问:http://localhost:3000
  • 使用 TypeScript(可选)
    • npm i -D typescript ts-node @types/express
    • 运行:npx ts-node index.ts 以上流程覆盖了最常见的 Node.js + Express 入门场景,并给出 TypeScript 的便捷开发方式。

四 进程守护与反向代理

  • 进程守护 PM2
    • 全局安装:npm i -g pm2
    • 启动与常用命令:
      • pm2 start index.js --name hello
      • pm2 list
      • pm2 logs hello
      • pm2 restart hello
      • pm2 startup # 生成开机自启脚本(按提示执行)
  • Nginx 反向代理(域名或端口统一)
    • 安装:sudo apt install -y nginx
    • 站点配置 /etc/nginx/sites-available/default(示例):
      • server { listen 80; server_name your_domain_or_ip; location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection ‘upgrade’; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
    • 生效配置:
      • sudo nginx -t && sudo systemctl reload nginx PM2 可确保进程崩溃后自动重启并便于日志管理;Nginx 适合做域名路由、静态资源与负载均衡。

五 常见问题与维护建议

  • 权限与全局包
    • 避免 sudo npm i -g;使用 npm 全局目录corepack 方案更稳妥。
  • 多版本并存与切换
    • 使用 NVM 管理多个 Node.js 版本,按项目切换,减少冲突。
  • 升级与维护
    • 升级 npm:npm i -g npm@latest
    • 升级 Node.js(NVM):nvm install --lts && nvm use --lts
  • 调试与质量保障
    • 使用 nodemon 热重载开发;配合 ESLint/Prettier 统一代码风格;TypeScript 提升可维护性与类型安全。
  • 安全与合规
    • 谨慎使用全局包;定期更新依赖(npm outdated / npm audit);生产环境禁用调试信息与详细错误堆栈。

0