新闻中心

如何在 Composer 中使用 --with-dependencies 选项来更新一个包及其所有依赖?

2025-12-15
浏览次数:
返回列表
Composer 没有 --with-dependencies 选项,该选项不存在于任何官方版本中;正确选项是 --with-all-dependencies(Composer 2.2+),用于更新指定包及其所有可升级的直接和间接依赖,且严格遵守项目现有版本约束。

如何在 composer 中使用 --with-dependencies 选项来更新一个包及其所有依赖?

Composer 没有 --with-dependencies 这个选项,它并不存在于任何官方版本的 Composer 命令中。

为什么找不到 --with-dependencies?

这是个常见误解,可能源于对其他包管理器(如 npm 或 pip)行为的混淆,或误读了过时/错误的文档。Composer 的设计原则是:更新一个包时,默认就会同时更新其兼容范围内的依赖,前提是这些依赖的版本约束允许升级——它不需要额外开关来“启用”依赖更新。

实际更新包及其依赖的正确方式

要安全、可控地更新某个包以及它所依赖的其他包(包括传递依赖),推荐以下做法:

  • composer update vendor/package-name:只更新指定包及其满足 composer.json 中版本约束的依赖项(包括子依赖),不会动其他未提及的包。
  • 确保 composer.json 中该包的版本约束合理,例如 "monolog/monolog": "^2.8",这样 Composer 才能在 ^2.8 范围内升级它的依赖(如 psr/log)。
  • --with-all-dependencies(Composer 2.2+):这个才是真实存在的选项,作用是:当更新某个包时,连带更新所有被它直接或间接依赖的包(即使那些包没在 composer.json 中显式声明),但依然遵守当前项目中已有的版本约束。

对比两个常用选项

--with-all-dependencies--with-dependencies(后者无效)

Gaga Gaga

曹越团队开发的AI视频生成工具

Gaga 1151 查看详情 Gaga
  • composer update monolog/monolog --with-all-dependencies:更新 monolog/monolog,并更新它所依赖的 所有可升级的包(比如 psr/logphp 兼容性相关包等),只要不违反你项目里已有的其他约束。
  • composer update monolog/monolog(无额外选项):只更新 monolog/monolog 和它 直接依赖且版本允许升级 的包,更保守。

小提醒

运行前建议先执行 composer update --dry-run 查看将要变更的包列表;生产环境务必配合版本控制和测试,避免意外升级引入不兼容变更。

基本上就这些。

以上就是如何在 Composer 中使用 --with-dependencies 选项来更新一个包及其所有依赖?的详细内容,更多请关注php中文网其它相关文章!


# 依赖更新  # php  # composer  # 如何将  # 经济学关键词排名前十  # b2c网站营销推广方案  # 丹东正规网站seo优化费用  # 则是  # 才是  # 自动加载  # 有什么区别  # 转换成  # 在一  # 不兼容  # 个旧  # 如何在  # 为什么  # npm  # json  # js  # 佛山品牌网站建设费用  # 校园电子商务的营销推广  # 建设网站费用包括哪些  # 推荐网络营销推广的书籍  # 广告推广类视频素材网站  # 淮南seo站内优化公司  # 网通网站建设北路 


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


相关推荐: 高德地图家和公司地址在哪设置 高德地图通勤路线设置方法【超详细】  windows10怎么查看硬盘序列号_windows10硬盘id查询命令  CSS子选择器:如何区分并样式化嵌套列表的子层级  Win10桌面图标出现小盾牌怎么办 Win10去除UAC图标教程【解决】  J*aScript中高效管理与清空动态列表:避免循环陷阱  QQ邮箱官网登录入口 QQ邮箱网页版邮箱快速登录  一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化  谷歌google账号怎么注册账号 谷歌账号注册官方流程  Pandas DataFrame 高效批量赋值:告别循环与笛卡尔积误区  sublime怎么设置启动时打开的窗口_sublime会话管理与热退出  优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践  win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】  机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等  在Typer应用中优雅地处理和重组任意命令行参数  Golang如何实现简单的Web表单_Golang表单提交与验证处理方法  mysql备份恢复性能优化_mysql备份恢复性能优化方法  漫蛙网页登录入口 漫蛙漫画官方授权网址  J*aScript DOM操作:高效清空列表元素的策略与实践  蛙漫官网漫画入口地址_蛙漫在线畅读无广告弹窗  谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】  HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解  C++如何解决segmentation fault_C++段错误调试与原因分析  如何在CSS中使用浮动制作导航栏_float实现水平菜单  cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法  中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】  12306选座如何查看座位示意图_12306座位示意图解读与使用  俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口  护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?  Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示  蛙漫画网页版全站入口 蛙漫热门作品免费浏览  冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法  铁路12306改签能改到更早的车次吗_铁路12306改签提前车次规则  蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】  腾讯QQ邮箱官方网站_QQ邮箱网页版在线登录  魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】  响应式容器内容自动缩放与宽高比维持教程  在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析  深入理解J*a链表中的IPosition接口与使用  使用Pandas转换并合并DataFrame:多列映射至统一结构  css绝对定位元素脱离父容器怎么办_确保父元素position非static  汽水音乐网页版使用入口_汽水音乐电脑版播放指南  4399免费游戏网址入口 4399小游戏免费入口点开即玩  漫蛙2在线漫画入口 漫蛙正版漫画网页版直达  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页  Python中高效且防溢出的双曲正弦计算:基于对数空间的优化策略  126邮箱账号注册 电脑版登录入口  C++编译期如何执行复杂计算_C++模板元编程(TMP)技巧与应用  如何使用纯J*aScript判断Input元素是否在特定类容器内  如何创建没有密码的Windows本地账户_跳过微软账户登录的技巧【教程】 

搜索