Composer show --self 查看当前项目详细信息【工具】
发布时间 - 2026-01-31 00:00:00 点击率:次composer show --self 查的是当前项目自身(即 composer.json 中定义的 root package)的元数据,输出完全源自本地 composer.json 字段解析,不读 composer.lock 也不查 vendor/ 状态,可显示 name、description、require 等字段,但 version 通常不显示。
composer show --self 到底查的是谁的信息?
它查的是当前项目自身(即 composer.json 中定义的 root package)的元数据,不是 Composer 工具本身的版本,也不是已安装依赖的版本 —— 这是最多人混淆的一点。如果你在项目根目录下运行 composer show --self,输出内容完全来自本地 composer.json 文件的字段解析,不读 composer.lock,也不查 vendor/ 里的实际安装状态。
它能显示哪些字段?哪些永远不显示?
能显示的字段取决于你 composer.json 里写了什么,常见有:name、description、type、license、authors、require(只列约束,如 "php": "^8.1")、autoload 配置等。
-
version字段即使写了,也大概率不显示 —— Composer 认为 root package 没有“固定版本”,除非你打 Git tag 或靠composer.lock间接推断 - 实际安装的依赖版本、插件(plugins)、脚本(
scripts全部键名)、仓库(repositories)配置,统统不会出现 -
require-dev会列出约束,但不会标注“这是 dev 依赖”;也不会告诉你这些包是否真被装进 vendor/ 了
什么时候该用它?什么时候不该用?
适合快速核对项目基础定义是否写全、命名是否一致、autoload 映射是否按预期声明 —— 尤其在 CI/CD 脚本里做预检时很轻量。
- ✅ 查
autoload是否配置了"App\\": "src/",避免 PSR-4 加载失败 - ✅ 确认
name字段是否符合私有 Packagist 的命名规范(如myorg/myapp) - ❌ 想知道 “
guzzlehttp/guzzle装的是不是 7.5.0?” → 改用composer show guzzlehttp/guzzle - ❌ 想确认当前项目“实际发布版本号” → 它给不了,得看 Git tag 或
composer.lock里的packages或packages-dev条目
和 composer show、composer info 的关键区别
composer show --self 和 composer info --self 输出几乎一样,因为 info 是 show 的别名;但 composer show(无参数)默认列出所有已安装依赖,行为完全不同。
- 旧版 Composer(composer.json),
composer show --self会报错Could not find package with name "self",而不是静默跳过 - 想查“整个依赖树”,必须用
composer show --tree,加--self后这个选项无效 - 如果误以为
--self能暴露 Composer 自身版本(比如 2.7.0),那是错的 —— 那是composer --version或composer global show composer/composer的职责
真正容易被忽略的是:它不反映运行时真实状态。一个 composer.json 写着 "monolog/monolog":,但 
composer show --self 不会告诉你现在装的是 3.5.0 还是 2.10.0 —— 它只忠于 JSON 文件的文本定义,仅此而已。
# php
# js
# git
# json
# composer
# app
# 工具
# 区别
# require
# 的是
# 这是
# 那是
# 什么时候
# 写了
# 装进
# 不读
# 不查
# 最多
# 你在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
手机网站制作与建设方案,手机网站如何建设?
如何在阿里云虚拟服务器快速搭建网站?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
微信小程序 配置文件详细介绍
UC浏览器如何设置启动页 UC浏览器启动页设置方法
如何安全更换建站之星模板并保留数据?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
网站建设保证美观性,需要考虑的几点问题!
使用C语言编写圣诞表白程序
微信小程序 HTTPS报错整理常见问题及解决方案
Laravel如何记录自定义日志?(Log频道配置)
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
Python自动化办公教程_ExcelWordPDF批量处理案例
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
如何挑选优质建站一级代理提升网站排名?
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
js代码实现下拉菜单【推荐】
如何选择可靠的免备案建站服务器?
如何快速搭建安全的FTP站点?
如何在阿里云购买域名并搭建网站?
如何用PHP快速搭建高效网站?分步指南
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
Laravel如何创建自定义Facades?(详细步骤)
网站优化排名时,需要考虑哪些问题呢?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
米侠浏览器网页背景异常怎么办 米侠显示修复
实现点击下箭头变上箭头来回切换的两种方法【推荐】
浅谈redis在项目中的应用
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
简单实现Android验证码
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控

