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

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%\AppData\Roaming\Composer\vendor\bin(Windows)已加入系统 PATH - 安装后执行
composer bump --help验证是否可用
基础用法:递增主/次/修订版本
该插件会自动修改 composer.json 中的 "version" 字段(需手动添加该字段),并更新 composer.lock(如有依赖变动):
-
composer bump patch→ 如1.2.3→1.2.4 -
composer bump minor→1.2.3→1.3.0 -
composer bump major→1.2.3→2.0.0
注意:"version" 字段必须存在且符合 MAJOR.MINOR.PATCH 格式,否则命令会报错。
配合 Git 自动打标签与提交
常用工作流是:更新版本 → 提交变更 → 打语义化标签。插件支持一键完成:
-
composer bump minor --tag --commit会:更新 version、提交composer.json和composer.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 分支(如
main或release/1.3)上运行
不复杂但容易忽略。










