Composer show -i命令怎么用 查看已安装的包列表【工具】

发布时间 - 2026-01-29 00:00:00    点击率:
composer show -i 显示当前项目 vendor/ 目录中实际已安装的依赖包,仅反映真实安装状态,不包含未安装的声明依赖或 lock 文件中未执行 install 的包。

composer show -i 显示的是什么

composer show -i 是 Composer 提供的快捷命令,等价于 composer show --installed,作用是列出当前项目中所有已安装的依赖包(即 vendor/ 下实际存在的包),不包含 require-dev 中未启用的开发依赖(除非你运行时加了 --dev)。

它不会显示 packagist.org 上可选但尚未安装的包,也不会显示 lock 文件里记录但没执行 install 的包——只反映真实安装状态。

常见误用:为什么有时输出为空或报错

执行 composer show -i 前必须确保:

  • composer.json 存在且格式合法(哪怕空 require 也行)
  • vendor/autoload.php 可被识别,即 vendor/ 目录至少存在(哪怕为空);若整个 vendor/ 被删了,会提示 Could not find package 或直接无输出
  • 没有在错误目录下执行(比如进了 vendor/some/package 再跑,Composer 会找不到项目根)

如果刚初始化项目但还没 composer installcomposer show -i 就不会显示任何包——它不读 composer.json 的声明,只查 vendor/ 实际内容。

查看带版本号和来源的完整列表

默认输出是简略格式(包名 + 版本),加 -s(--source)能显示包来源(如 git URL 或 dist zip 地址),对排查私有源或 fork 包很有用:

composer show -i -s

想快速筛选某个包?直接追加包名:

composer show -i monolog/monolog

这会精确匹配已安装的 monolog/monolog,并显示其依赖树(如果装了)、版本、License 和 source 信息。注意:这里写的包名必须和 vendor/ 里的目录名完全一致(区分大小写,含 vendor name)。

替代方案:比 show -i 更轻量的检查方式

如果只是确认有没有装某个包,或者 CI/脚本里做判断,没必要调用 show(它会加载整个 autoloader 和依

赖图):

  • 检查目录是否存在:test -d vendor/monolog/monolog
  • 看 lock 文件里是否记录:grep -q '\"monolog/monolog\"' composer.lock
  • composer show -i | grep monolog 最快,但依赖终端支持管道

真正容易被忽略的是:当项目用了 platform-checkconfig.platform 模拟 PHP 扩展时,show -i 不会提示这些“虚拟安装”的扩展——它只展示真正存在于 vendor/ 的包。


# php  # js  # git  # json  # composer  # 工具  # 为什么  # require  # 的是  # 为空  # 不包含  # 中未  # 还没  # 进了  # 用了  # 可选  # 报错  # 它会 


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


相关推荐: JavaScript如何操作视频_媒体API怎么控制播放  iOS发送验证码倒计时应用  EditPlus中的正则表达式 实战(4)  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Python自动化办公教程_ExcelWordPDF批量处理案例  如何在IIS中新建站点并解决端口绑定冲突?  北京网站制作公司哪家好一点,北京租房网站有哪些?  HTML 中如何正确使用模板变量为元素的 name 属性赋值  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel如何使用Livewire构建动态组件?(入门代码)  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  网站制作免费,什么网站能看正片电影?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Laravel如何自定义错误页面(404, 500)?(代码示例)  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何在建站之星绑定自定义域名?  网站制作企业,网站的banner和导航栏是指什么?  如何快速搭建高效WAP手机网站吸引移动用户?  什么是javascript作用域_全局和局部作用域有什么区别?  在线制作视频网站免费,都有哪些好的动漫网站?  如何在阿里云完成域名注册与建站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何自定义建站之星模板颜色并下载新样式?  Laravel storage目录权限问题_Laravel文件写入权限设置  如何正确选择百度移动适配建站域名?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Python并发异常传播_错误处理解析【教程】  长沙做网站要多少钱,长沙国安网络怎么样?  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  Windows Hello人脸识别突然无法使用  Python文件异常处理策略_健壮性说明【指导】  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  JS碰撞运动实现方法详解  如何在新浪SAE免费搭建个人博客?  如何在 Pandas 中基于一列条件计算另一列的分组均值  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Python图片处理进阶教程_Pillow滤镜与图像增强  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  如何快速配置高效服务器建站软件?  如何在Windows 2008云服务器安全搭建网站?