- 首页 >
- 问答 >
-
编程语言 >
- Node.js CentOS项目如何进行版本控制
Node.js CentOS项目如何进行版本控制
小樊
34
2025-11-19 20:54:53
Node.js 在 CentOS 的版本控制实践
一 版本控制的两层含义
- 代码版本控制:使用 Git 管理源码、分支与发布。
- 运行时版本控制:在 CentOS 上管理多个 Node.js 版本,保证不同项目使用合适的运行时。
二 代码版本控制 Git 快速落地
- 安装与配置
- 安装 Git:sudo yum install -y git
- 配置身份:git config --global user.name “Your Name”,git config --global user.email “you@example.com”
- 基本流程
- 克隆仓库:git clone
- 跟踪与提交:git add .,git commit -m “feat: xxx”
- 推送与拉取:git push -u origin main,git pull origin main
- 分支与协作
- 新建分支:git checkout -b feature/login
- 合并回主干:git checkout main && git merge feature/login
- 常用辅助
- 状态与历史:git status,git log --oneline
- 忽略依赖:echo “node_modules/” >> .gitignore
- 服务器侧建议
- 在服务器上通过 Git 拉取代码,避免上传 node_modules;使用 .gitignore 排除,并在服务器执行依赖安装(如 npm ci --production 或 yarn install --production)。
三 Node.js 运行时版本控制
- 推荐方案 NVM(Node Version Manager)
- 安装 NVM(示例版本:v0.39.5):
- 执行:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
- 使配置生效:source ~/.bashrc
- 常用命令:
- 安装 LTS:nvm install --lts
- 安装指定版本:nvm install 18.17.0
- 切换版本:nvm use 18.17.0
- 查看已装版本:nvm ls
- 说明:NVM 按用户安装,可在同一台 CentOS 上为不同项目切换 Node.js 版本,避免冲突。
- 备选方案 n(全局模块)
- 安装:npm i -g n
- 切换:n stable,n lts,n 18.17.0
- 注意:n 以全局方式切换 Node,适合单用户/单版本场景。
四 生产部署与持续交付的最小闭环
- 代码获取与依赖
- git clone && cd
- 安装依赖:npm ci --production 或 yarn install --production
- 进程管理与自启
- 启动:pm2 start app.js --name “my-app”
- 保存与自启:pm2 save && pm2 startup systemd -u --hp
- 反向代理与端口开放
- 使用 Nginx 反向代理到 127.0.0.1:3000,对外暴露 80/443
- 防火墙放行:sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --permanent --add-service=https && sudo firewall-cmd --reload
- 环境变量
- 使用 dotenv 管理配置,生产环境优先通过系统环境变量注入敏感信息。
五 常见问题与排查
- 命令未找到
- 执行 source ~/.bashrc 或重开终端,确保 nvm/n 初始化脚本已加载。
- 权限与路径
- 使用 nvm 安装的 node/npm 位于用户目录,无需 sudo;全局包请使用当前用户的 npm -g 安装。
- 多项目 Node 版本不一致
- 为每个项目在部署脚本或 package.json 中显式指定运行时版本,并在部署前执行 nvm use 。
- 服务器上 node/npm 找不到
- 若使用 n 全局安装,可能需要创建软链(如:ln -s /usr/local/node/bin/node /usr/local/bin/node),或改用 nvm 避免路径问题。