--stability=beta 是最安全的临时方案,仅本次安装生效且不改动全局策略,需确保版本号与Git tag或composer.json中声明完全一致,并验证composer show输出确认安装成功。

composer require 加 --stability=beta 是最安全的临时方案
直接运行 composer require vendor/package:2.5.0-beta1 --stability=beta 即可,它只对本次安装生效,不会改动项目全局策略。这个参数相当于临时覆盖 minimum-stability,让 Composer 在解析依赖时把 beta 标签纳入候选范围。
常见错误是漏掉 --stability=beta,只写 composer require vendor/package:2.5.0-beta1——此时 Composer 仍按默认 stable 策略过滤,哪怕 tag 存在也会静默回退到最近 stable 版。
- 命令成功不代表装上了:执行后务必运行
composer show vendor/package确认输出中versions行显示的是2.5.0-beta1,而不是2.4.9或dev-main - 如果报
Your requirements could not be resolved,大概率是 PHP 版本不匹配,用composer show vendor/package 2.5.0-beta1查它的requires php字段 -
--stability=rc同理,用于3.0.0-rc1这类版本,不能混用@beta和--stability=rc
版本号必须和 Git tag 或 composer.json 的 version 字段完全一致
Composer 不会模糊匹配。你写的 2.5.0-beta1 必须和包仓库里实际打的 Git tag(如 v2.5.0-beta1 或 2.5.0-beta1)或其 composer.json 中声明的 "version": "2.5.0-beta1" 完全一致。
大小写、分隔符、数字缺失都会失败:2.5.0-beta(缺序号)、2.5.0.BETA1(点号错)、2.5.0-beta1@dev(双重标记)全部无效。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 先验证真实可用版本:运行
composer show -a vendor/package,看输出列表里是否真有你要的2.5.0-beta1,状态列应为beta - 若只有
dev-main,那就不能用2.5.0-beta1,得换dev-main或dev-main#abc123 - 私有仓库需确保
repositories类型设为vcs,URL 是可 clone 的 Git 地址,不是网页链接
composer install 不会响应 composer.json 里的 beta 版本修改
改完 composer.json 中的版本字符串(比如从 "^2.4" 改成 "2.5.0-beta1"),再跑 composer install 依然可能装旧版——因为 composer.lock 锁定了旧解析结果,它优先级高于 composer.json。
正确做法是删掉 lock 文件里对应包的整段(或整个 composer.lock),然后运行 composer update vendor/package --with-all-dependencies,强制重新解析该包及其子依赖。
- 不要用
composer install --ignore-platform-reqs来“绕过”这个问题,那是解决 PHP 扩展缺失的,和稳定性无关 - 如果其他包依赖了更高稳定版(如
another/pkg要求^2.5),Composer 可能拒绝降级到2.5.0-beta1,这时要检查依赖图 - 装完进
vendor/vendor/package/目录,打开其composer.json,确认"version"字段确实是"2.5.0-beta1",这是最终依据
全局设 minimum-stability = beta 风险很高
在 composer.json 里加 "minimum-stability": "beta" 看似一劳永逸,但它会让后续所有 composer require 或 composer update 都可能拉到 beta 版,哪怕你没意识到——比如某个间接依赖突然发了个 1.2.0-beta3,就会被自动带进来。
更稳妥的组合是保持 "minimum-stability": "stable" + "prefer-stable": true,仅对目标包显式用 @beta 或 --stability=beta。
- 如果真要设全局 beta,务必同步加
"prefer-stable": true,否则连^3.0这种约束都可能命中dev-main - 改完
composer.json后,必须删掉composer.lock里对应包的条目,再跑composer update vendor/package --with-all-dependencies,否则 lock 文件会缓存旧策略 - RC 版本同理,但要注意 RC 和 beta 是不同稳定性等级,
--stability=rc不能匹配beta标签
composer.lock 里有没有那条记录,再核对 composer show -a 输出的真实 tag 名称。

















