如何使用 composer outdated 命令检查哪些依赖包有新版本?

发布时间 - 2025-12-14 00:00:00    点击率:
composer outdated 用于列出项目中可更新的依赖包,包括直接和间接依赖,默认仅显示满足版本约束的更新,支持 --direct、--all 等选项控制输出范围。

直接运行 composer outdated 就能列出当前项目中所有有更新版本的依赖包,包括直接依赖和间接依赖(即 require 和 require-dev 中声明的包及其子依赖)。

基础用法:查看可更新的包

在项目根目录下执行:

composer outdated

默认只显示有新版本且满足当前 composer.json 版本约束(如 ^2.0)的包。比如你锁定了 "monolog/monolog": "^2.0",而最新稳定版是 2.10.0,它就会出现在列表里;但如果最新版是 3.0.0,不满足 ^2.0 范围,就不会显示(除非加 --all)。

常用选项增强实用性

  • --direct:只检查你在 composer.json 中直接声明的包(忽略 transitive 依赖),适合快速聚焦自己管理的依赖
  • --outdated:这是默认行为,可省略;加上 --up-to-date 则反向显示已是最新的包(较少用)
  • --minor-only--patch-only:限制只显示次要版本或补丁版本更新(例如只关心 2.1.x → 2.2.x,不显示 2.2.x → 3.0.x
  • --all:显示所有包,包括那些因版本约束被锁定、无法升级的(会标灰或注明“not upgradable”)

识别输出信息的关键列

命令输出通常包含四列:

  • 包名(如 phpunit/phpunit
  • 当前安装版本(来自 composer.lock,如 9.5.26
  • 最新可用版本(满足约束的最高兼容版,如 9.6.15
  • 版本差异说明(如 9.5.26 → 9.6.15,或标为 dev-main 表示有开发分支更新)

[dev] 标记的行表示该更新来自开发分支(如 dev-main),不是稳定版,需谨慎对待。

配合更新操作更高效

看到想升级的包后,不要直接全量更新。推荐按需升级:

  • 升级单个包:composer update vendor/package-name
  • 升级一组相关包:composer update monolog/* symfony/*
  • 确认变更再执行:composer update --dry-run 先预览会修改哪些包和版本

升级前建议先提交当前代码,避免 composer.lock 变更引发意外问题。

基本上就这些。记住 outdated 是诊断工具,不是升级命令——它帮你看见“有什么可升”,下一步怎么升,还得自己决定。


# php  # js  # json  # composer  # 工具  # ai  # symfony  # date  # require  # 只显示  # 稳定版  # 这是  # 有什么  # 就会  # 就能  # 出现在  # 你在  # 帮你  # 已是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 什么是javascript作用域_全局和局部作用域有什么区别?  ,交易猫的商品怎么发布到网站上去?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  如何快速生成可下载的建站源码工具?  Laravel如何处理文件下载请求?(Response示例)  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  电商网站制作价格怎么算,网上拍卖流程以及规则?  详解vue.js组件化开发实践  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  Linux系统命令中screen命令详解  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何实现API速率限制?(Rate Limiting教程)  JavaScript如何操作视频_媒体API怎么控制播放  昵图网官方站入口 昵图网素材图库官网入口  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Laravel如何配置Horizon来管理队列?(安装和使用)  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  如何在IIS中新建站点并配置端口与IP地址?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何在阿里云通过域名搭建网站?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Mybatis 中的insertOrUpdate操作  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  北京专业网站制作设计师招聘,北京白云观官方网站?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  js实现点击每个li节点,都弹出其文本值及修改  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel API资源类怎么用_Laravel API Resource数据转换  Python结构化数据采集_字段抽取解析【教程】  制作旅游网站html,怎样注册旅游网站?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Linux后台任务运行方法_nohup与&使用技巧【技巧】  php485函数参数是什么意思_php485各参数详细说明【介绍】  专业商城网站制作公司有哪些,pi商城官网是哪个?  公司网站制作价格怎么算,公司办个官网需要多少钱?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?