如何使用composer bump命令自动化更新包版本?(插件使用)

13次阅读

Composer 本身无内置 bump 命令,需通过 symplify/composer-bump 插件实现版本递增;安装后可用 composer bump patch/minor/major 更新 composer.json 中符合语义化格式的 version 字段,并支持 –tag –commit 一键提交与打标签。

如何使用 composer bump 命令自动化更新包版本?(插件使用)

Composer 本身没有内置的 bump 命令。所谓“composer bump”,通常是指借助第三方插件(如 cgr 或更主流的 composer-require-checker?不,其实都不是)——真正被广泛用于版本递增的是 composer-bump 插件,由 symplify/composer-bump 提供。

安装 composer-bump 插件

推荐以全局方式安装,方便所有项目使用:

  • 运行 composer global require symplify/composer-bump
  • 确保 ~/.composer/vendor/bin(Linux/macOS)或 %USERPROFILE%AppDataRoamingComposervendorbin(Windows)已加入系统 PATH
  • 安装后执行 composer bump --help 验证是否可用

基础用法:递增主 / 次 / 修订版本

该插件会自动修改 composer.json 中的 "version" 字段(需手动添加该字段),并更新 composer.lock(如有依赖变动):

  • composer bump patch → 如 1.2.31.2.4
  • composer bump minor1.2.31.3.0
  • composer bump major1.2.32.0.0

注意:"version" 字段必须存在且符合 MAJOR.MINOR.PATCH 格式,否则命令会报错。

配合 Git 自动打标签与提交

常用工作流是:更新版本 → 提交变更 → 打语义化标签。插件支持一键完成:

  • composer bump minor --tag --commit 会:更新 version、提交 composer.jsoncomposer.lock(如果变化)、打 v1.3.0 标签
  • --tag-message="Release %VERSION%" 可自定义 tag 信息,%VERSION% 会被自动替换
  • 建议搭配 --dry-run 先预览操作,避免误提交

注意事项与常见问题

这个插件只处理当前包自身的 version 字段,不会升级你 require 的其他包 —— 那是 composer update 的职责。

  • 若项目未声明 "version",需先手动添加(例如 "version": "1.0.0"
  • 它不修改 CHANGELOG.md 或生成发布说明,需另配 工具(如 git-chglog
  • 多分支场景下,确保在正确的 release 分支(如 mainrelease/1.3)上运行

不复杂但容易忽略。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-25发表,共计1151字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources