@dev 表示安装开发版本,允许拉取主分支最新代码或 -dev 标签版本,适用于需最新功能或修复但未发布的情况,等同于 dev-main,常用于测试或开发环境,因不稳定不推荐用于生产。

在 Composer 中,依赖的版本号使用 "@dev" 表示你希望安装该包的开发版本,而不是某个稳定的发布版本。
什么是 "@dev"?
@dev 是一个版本约束修饰符,它告诉 Composer 允许安装开发分支的最新提交,通常是主分支(如 main 或 master),或者是带有标签的开发快照(如 -dev 后缀的版本)。
例如:
-
"monolog/monolog: @dev"会拉取该库最新的开发版,可能来自其主分支的最新代码。 - 这等价于指定具体分支如
"dev-main"或"dev-master"。
什么时候用 "@dev"?
使用 @dev 通常出现在以下情况:
- 你需要某个包的最新功能,而这些功能尚未包含在正式发布版本中。
- 你在参与某个开源项目开发,需要测试最新的改动。
- 你依赖的包存在 bug,但已在主分支修复,只是未打新 tag。
注意:不建议在生产环境随意使用 @dev,因为开发版本不稳定,可能会引入破坏性变更或新 bug。
背后的机制
Composer 默认只会安装稳定版本(如 v1.0.0、v2.5.3)。当你加上 @dev,Composer 会:
- 允许匹配带有 -dev 后缀的版本(比如 1.2.3-dev)。
- 拉取指定分支的最新提交(如 main 分支的 HEAD)。
- 可能启用 minimum-stability 配置的影响(默认为 stable)。
你可以通过配置 prefer-stable 来优先选择稳定版,即使允许 dev 版本存在。
基本上就这些。简单说,@dev = 最新版开发代码,功能新但风险高。










