使用composer show命令可查看已安装包及其版本,包括直接依赖和间接依赖,结合-i参数列出所有包,用composer show <package-name>查看特定包详情,实际安装版本以composer.lock为准,遵循语义化版本规范,配合composer update、install、require等命令实现完整依赖管理。

要查看Composer项目已安装的包及其版本,最直接有效的方式是使用
composer show
在Composer项目中,查看已安装的包和版本主要依赖于
composer show
首先,最基础的用法是在项目根目录下运行:
composer show
这个命令会列出所有作为你项目直接依赖(在
composer.json
monolog/monolog 2.x-dev
symfony/console v6.3.4
如果你想看到所有已安装的包,包括那些作为其他包的依赖而被拉进来的(也就是间接依赖),你需要加上
-i
--installed
composer show -i
这会给出一个更长的列表,因为它包含了整个依赖树中所有实际安装到
vendor
如果你的目标是查看某个特定包的详细信息,比如它的描述、作者、许可证、甚至它自己的依赖,可以这样用:
composer show <package-name>
例如,要查看
monolog/monolog
composer show monolog/monolog
这会返回一个包含版本、类型、许可证、来源、依赖等信息的综合报告。我个人觉得这个命令在排查问题时特别有用,比如你想确认一个包是否真的安装了某个特定版本,或者它的依赖是否满足你的预期。
composer.json
这其实是很多Composer新手会遇到的一个“困惑点”,但理解了背后的机制,就会觉得非常合理。简单来说,
composer.json
composer.lock
composer.json
^1.0
~1.2
1.x-dev
composer install
composer update
composer.json
composer.lock
所以,当你使用
composer show
composer.lock
vendor
如果
composer.json
composer.lock
vendor
composer.lock
composer.json
composer update
composer.lock
理解版本号的含义,特别是语义化版本(Semantic Versioning,简称SemVer),对于维护Composer项目至关重要。大多数Composer包都遵循SemVer规范,即版本号由三部分组成:
MAJOR.MINOR.PATCH
1.x.x
2.x.x
1.0.x
1.1.x
1.0.0
1.0.1
此外,你可能还会看到一些版本号后面跟着
alpha
beta
RC
dev
在
composer.json
^1.0
1.0.0
2.0.0
2.0.0
~1.2
1.2.0
1.3.0
1.3.0
1.x
1.*
1
理解这些,就能更好地判断一个包的更新是风险大还是小,以及你的项目是否能安全地升级到某个新版本。
Composer不仅仅是一个查看工具,它更是一个强大的依赖管理工具。除了
composer show
composer update
composer.json
composer.lock
composer update monolog/monolog
composer install
composer.lock
composer.lock
composer.json
composer install
composer require <package-name>
composer.json
require
composer.lock
composer require symfony/yaml
composer remove <package-name>
vendor
composer.json
composer.lock
composer remove monolog/monolog
composer outdated
这些命令共同构成了Composer依赖管理的核心工作流,熟练掌握它们能让你在项目开发和维护中事半功倍。
以上就是composer如何查看已安装的包和版本的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号