0

0

composer如何批量更新包_使用通配符更新composer依赖【干货】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-03-13 16:49:51

|

192人浏览过

|

来源于php中文网

原创

不能,Composer原生不支持通配符批量更新;只能指定多个具体包名(如composer update monolog/monolog symfony/console)或借助插件(如bamarni/composer-bin-plugin)配合shell脚本过滤更新。

composer如何批量更新包_使用通配符更新composer依赖【干货】

composer update 能不能用通配符批量更新?

不能直接用 *vendor/* 这类通配符触发 composer update —— Composer 原生不支持 glob 模式匹配包名。你敲 composer update vendor/*,它会报错:Could not find package vendor/*,不是找不到包,是压根不解析通配符。

真正能批量更新的,只有两种方式:指定多个具体包名,或用插件补足能力。

手动列包名是最稳的批量更新法

如果你知道要更新哪些包(比如所有 monolog/ 开头的、或几个核心 dev 依赖),直接把它们列在命令里就行:

composer update monolog/monolog symfony/console symfony/filesystem

这种写法明确、可复现、CI 友好。注意几点:

  • composer update 默认只更新 composer.lock 中已有的包,不会装新包;加 --with-all-dependencies 才会连带升级子依赖(慎用,容易破)
  • 如果某个包在 composer.json 里没声明,只是间接依赖,composer update xxx 不会理它——得先把它显式加进 requirerequire-dev
  • 版本约束写死了(如 "^1.2")时,update 不会跨主版本,哪怕有 2.0 也不动;想升大版本得先改 composer.json

想按前缀批量更新?用 composer-require-checker 或插件

官方不支持 monolog/*,但社区有轻量方案。最常用的是 hirak/prestissimo 已停更,现在推荐:

Rose.ai
Rose.ai

一个云数据平台,帮助用户发现、可视化数据

下载
  • composer-unused(查未用包)+ composer normalize(格式化)组合,虽不直接批量更新,但能帮你快速识别可清理/可升级的包范围
  • 真要按命名空间批量操作,用 composer global require bamarni/composer-bin-plugin,再配合自定义脚本遍历 composer show --name-only 输出,过滤出 monolog/ 开头的,拼成命令执行——别手写循环,用 shell 就够了:
composer show --name-only | grep '^monolog/' | xargs -r composer update

⚠️ 注意:xargs 在 Windows(Git Bash 除外)上行为不一致;Mac 上默认 xargs 不支持 -r,得用 gxargs(brew install findutils)。

为什么不用 composer update --dry-run 先看影响?

--dry-run 不是“预览”,它只模拟安装流程,不实际下载,但依然会解析依赖图、计算版本、甚至触发插件钩子。问题在于:

  • 它不会告诉你「这个包会从 3.2 升到 4.0」,只说「Updating xxx (3.2.0 => 4.0.0)」——但你看不到 break change 是否涉及你代码
  • 如果某包的 post-update-cmd 有副作用(比如清缓存、生成配置),--dry-run 仍可能执行它(取决于插件实现)
  • 真正安全的做法是:开个新分支 → composer update xxxgit diff composer.lock 看锁文件变化 → 跑测试 → 再决定合入

锁文件才是真相,别信控制台那几行绿色输出。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
PHP Symfony框架
PHP Symfony框架

本专题专注于PHP主流框架Symfony的学习与应用,系统讲解路由与控制器、依赖注入、ORM数据操作、模板引擎、表单与验证、安全认证及API开发等核心内容。通过企业管理系统、内容管理平台与电商后台等实战案例,帮助学员全面掌握Symfony在企业级应用开发中的实践技能。

87

2025.09.11

composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

162

2023.12.25

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

457

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

549

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

510

2023.11.27

java中break的作用
java中break的作用

本专题整合了java中break的用法教程,阅读专题下面的文章了解更多详细内容。

120

2025.10.15

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第二十四期_PHP8编程
第二十四期_PHP8编程

共86课时 | 3.5万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.6万人学习

第二十三期_PHP编程
第二十三期_PHP编程

共93课时 | 7.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号