@dev、@beta、@alpha 是 composer 中用于控制包安装稳定性的标志,依次表示开发版、测试版和早期测试版,允许安装对应及更稳定的版本,帮助开发者灵活管理依赖稳定性。

在 Composer 中,稳定性标志(Stability Flags)是用来控制包的安装行为,特别是当你想安装某个特定稳定性的版本时。它们通常出现在 require 命令或 composer.json 文件中的版本约束后面,比如 @dev、@beta、@alpha 等。
@dev:开发版本
表示你想安装开发分支的最新提交,通常是 main 或 master 分支,也可能是带有 -dev 后缀的版本。这类版本不稳定,可能包含未完成的功能或 bug,适合测试或需要最新功能的场景。
- 例如:
composer require monolog/monolog:dev-main或使用@dev让 Composer 自动选择开发版 - 实际安装的版本可能是
2.9.x-dev
@beta:Beta 测试版本
表示你愿意接受一个处于 Beta 阶段 的发布版本。这类版本功能基本完整,但可能还有已知问题,适合预发布测试。
- 例如:
composer require acme/package:@beta - Composer 会选择类似
1.0.0-beta.1这样的版本
@alpha:Alpha 测试版本
比 Beta 更不稳定的早期测试版本,功能可能不完整,仅推荐给开发者或测试人员使用。
- 例如:
composer require acme/package:@alpha - 会匹配如
1.0.0-alpha.1的版本
稳定性标志的作用机制
Composer 默认只安装 稳定版本(如 1.0.0),不会自动选择 alpha、beta、dev 等不稳定版本。通过添加稳定性标志,你可以显式允许安装这些版本。
-
@dev允许 dev 分支和 -dev 版本 -
@beta允许 beta 版本(含更稳定的) -
@alpha只允许 alpha 及以上稳定性(包括 beta、RC、稳定版)
注意:稳定性是按等级划分的,从低到高为:dev < alpha < beta < RC (Release Candidate) < stable
指定某个 flag,意味着允许该级别及更稳定的版本。
基本上就这些。用好稳定性标志能让你灵活控制依赖的成熟度,避免意外引入不稳定代码。