Yii2框架下如何查看已安装组件及composer.json包版本
嘿,这个问题我刚好有实操经验,给你整理几个实用的操作方式:
一、查看已安装的Widget版本
Yii2里的Widget大多是以Composer包的形式存在的(比如官方的yii2-bootstrap、第三方的各类扩展),你可以通过以下方式查看:
用Composer命令精准查询单个Widget包
如果你知道Widget对应的包名(比如Bootstrap Widget对应的是yiisoft/yii2-bootstrap),直接在项目根目录运行:composer show yiisoft/yii2-bootstrap输出结果里会明确显示
versions字段,其中带*的就是当前已安装的版本。要是不确定包名,先运行composer search yii2 widget搜索相关包,再用show命令查看。查看
composer.lock文件
这个文件是Composer自动生成的,记录了所有已安装包的精确版本信息。直接在项目根目录打开它,搜索你要找的Widget对应的包名,就能找到类似这样的片段:{ "name": "yiisoft/yii2-bootstrap", "version": "2.0.11", // ...其他信息 }这里的
version就是当前安装的版本。查看核心Yii2 Widget的版本
像GridView、DetailView这类Yii2核心自带的Widget,属于yiisoft/yii2包的一部分,运行composer show yiisoft/yii2就能看到核心包的版本,也就是这些Widget的版本。
二、查看composer.json中列出的各包的已安装版本
想要快速知晓composer.json里所有依赖包的实际安装版本,试试这些方法:
用Composer命令列出所有已安装包
在项目根目录运行:composer show会输出所有已安装包的名称、版本、简短描述,一目了然。如果只想聚焦
composer.json里require字段的包,加上--installed参数即可(其实默认就是显示已安装的):composer show --installed用
composer outdated看版本对比
这个命令不仅能显示已安装版本,还会告诉你该包的最新可用版本,方便你了解是否有更新:composer outdated输出里的
current列就是已安装版本,latest列是最新版本。对比
composer.json和composer.lockcomposer.json里记录的是你要求的版本范围(比如^2.0),而composer.lock里是实际安装的精确版本。你可以把两个文件里的包对应起来看,直接获取每个依赖的真实安装版本。
内容的提问来源于stack exchange,提问作者natral

