新闻中心

Composer 的 minimum-stability 设置(stable, RC, beta, alpha, dev)如何影响依赖解析?

2025-12-12
浏览次数:
返回列表
minimum-stability 是 Composer 的版本准入门槛,非优先级选项;默认值 stable 仅允许 stable 版本,排除 alpha/beta/RC/dev 等;设为 beta 则允许 alpha、beta、RC 和 stable 版本。

composer 的 minimum-stability 设置(stable, rc, beta, alpha, dev)如何影响依赖解析?

设置 minimum-stability 会告诉 Composer:**只允许安装等于或高于该稳定度的包版本**。它不是“优先选”,而是“准入门槛”——低于这个级别的版本,即使存在、即使满足版本约束,也会被直接排除在候选列表之外。

stable 是默认值,也是最保守的选择

当你没显式设置时,Composer 默认使用 "minimum-stability": "stable"。这意味着:

  • 只会考虑带有 -stable 后缀(或无后缀)的版本,比如 2.5.03.0.0-stable
  • 2.5.0-rc12.5.0-beta2dev-main 全部被跳过;
  • 即使你的 require 写的是 "vendor/pkg": "^2.5",而只有 2.5.0-rc1 可用,Composer 也会报错“找不到匹配的稳定版本”。

降低 stability 会让更多预发布版进入解析范围

设为 "beta",Composer 就会接受 alphabetaRCstable 版本(按稳定性从低到高:alpha

  • "minimum-stability": "beta" → 允许 1.0.0-alpha1.0.0-beta,但拒绝 dev-develop
  • "minimum-stability": "RC" → 允许 1.0.0-rc1,但拒绝 1.0.0-beta3
  • "minimum-stability": "dev" → 所有版本都可选,包括 dev-maindev-feature/x

per-package 的 stability override 更灵活

全局 minimum-stability 是兜底规则,你可以对单个包单独放宽限制:

Ghiblio Ghiblio

专业AI吉卜力风格转换平台,将生活照变身吉卜力风格照

Ghiblio 157 查看详情 Ghiblio
  • require 中写 "vendor/pkg": "dev-main as 1.0.0",就明确允许 dev 分支;
  • 或者加 "prefer-stable": true 配合 minimum-stability: dev,让 Composer 在满足约束的前提下,优先选 stable 版本(而非强制只用 stable);
  • 注意:"@dev" 这类版本别名只在 require 中有效,不能用于 minimum-stability 值。

依赖链中所有包都受同一规则约束

minimum-stability 是项目级策略,影响整个依赖图谱:

  • 你自己的 composer.json 设为 beta,那么你直接 require 的包,以及这些包所依赖的子依赖,全都必须 ≥ beta;
  • 如果 A 包要求 B:^2.0,而 B 的最新 stable 是 1.9.0,但 2.0.0-beta1 已发布——只要你的 minimum-stability ≥ beta,B 就能装上 2.0.0-beta1
  • 反之,若 A 包内部 requireC:dev-main,而你设了 minimum-stability: stable,Composer 会拒绝安装 A,因为它的依赖 C 不达标。

基本上就这些。它不复杂,但容易忽略——尤其当某个依赖突然装不上时,先看一眼 stability 设置和可用版本列表,往往比翻半天报错日志更快。

以上就是Composer 的 minimum-stability 设置(stable, RC, beta, alpha, dev)如何影响依赖解析?的详细内容,更多请关注其它相关文章!


# 的是  # 怎么搜索热销关键词排名  # 品牌整合营销推广推荐  # 忻州seo运营  # 系统网站推广  # 单页面网站打开很慢优化  # 葱香排骨面营销推广  # 建设图纸在哪个网站查询  # 铜仁seo排名最便宜  # 网点营销计划推广书  # wordpress网站仿站建设  # 故障排除  # composer  # 自己的  # 默认值  # 如何使用  # 报错  # 意大利  # 如何在  # 也会  # 设为  # ai  # json  # js 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: cad如何更改注释性对象的比例_cad注释性比例调整方法  steam官方网页快速访问 steam账号注册全流程  Animex动漫社网入口地址 Animex动漫社网正版在线入口  Win10如何开启蓝牙功能_Windows10找不到蓝牙开关解决方法  漫蛙manwa官网登录界面_漫蛙漫画网页版主站入口  iCloud登录入口网页版 苹果iCloud官网登录  优酷会员付费后没到账怎么办_优酷会员充值异常及解决方法  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  TypeScript/J*aScript:高效查找数组中首个唯一ID对象  J*a应用集成GitHub CLI与API认证指南  探索高级语言到原生C/C++的转译:挑战与内存管理策略  vivo云服务网页版登录 怎么登录vivo云服务网页版  Win11怎么合并任务栏图标 Win11开启任务栏合并减少图标占空间【方法】  qq邮箱日历功能怎么用_创建日程与会议邀请的技巧  J*aScript中安全有效地处理localStorage字符串数据  Excel组合图表怎么做 Excel创建柱状图与折线组合图教程【图表】  谷歌google账号注册详细步骤 谷歌账号注册官方教程  快手网页版在线登录 快手网页版官网入口快速访问  sublime怎么格式化代码_sublime代码美化与一键排版插件配置  百度浏览器字体显示异常偏小_百度浏览器字体渲染修复方案  Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式  创客贴用户入口官网登录 创客贴网页版电脑版系统  J*aScript生成器_j*ascript异步迭代  汽水音乐在线解析 汽水音乐在线解析入口  汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口  PS5 Pro有点优势但不多! 《燕云十六声》PS5平台与PC性能画面对比  汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口  Golang如何实现简单的Web表单_Golang表单提交与验证处理方法  铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧  AO3最新可访问网址 Archive of Our Own官方在线入口  c++中的const_cast和reinterpret_cast怎么用_c++四种类型转换  文心一言怎样用批量生成做多版文案_文心一言用批量生成做多版文案【批量创作】  企业名称高精度匹配:N-gram方法在结构相似性分析中的应用  优化大型XML文件解析:基于Python流式处理的内存高效方案  SteamMachine定价或为699美元 大家想入手吗?  一加手机电池耗电快怎么办_一加手机电池耗电快的解决方法  QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  J*aScript设计模式实践_j*ascript代码优化  yy漫画网页版官方入口_yy漫画官网登录页面链接  黑猫投诉统一入口官网 消费者权益保护投诉平台  Golang如何使用buffered channel提高性能_Golang buffered channel优化技巧  steam官方入口大全 steam账号注册及操作指南  在J*aScript中复现SciPy的B样条拟合与求值:关键考量  解决Tabulator日期时间排序问题的专业指南  QQ邮箱官网登录入口 QQ邮箱网页版邮箱快速登录  抖音极速版最新版本 抖音极速版官方下载地址  谷歌浏览器如何快速清除某个网站的数据_Chrome网站缓存清理方法  b站怎么看视频的弹幕数量_b站弹幕数量查看方法  谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作 

搜索