推荐六个鲜为人知的Composer命令

发布时间 - 2019-06-26 00:00:00    点击率:

Composer 是 PHP 的一个依赖管理工具。 如果你是一名 PHP 开发人员,那么你很可能每天都在使用它并且频繁的运行命令 requireinstallupdate。也许你并没有意识到, 我们可以使用一些其他的Composer命令,来更加轻松的使用它。

它有许多的命令可以使用,但今天我将分享我使用的并且每天都有帮助的 6 个命令。

show

先说下 show 命令。它允许您查看项目的所有已安装包(包括依赖项),以及查看相关包的说明。所有这些信息都可以在Composer锁文件(composer.lock)中找到, 但是使用 show 命令相对来说是一种更简单、更方便的一种查看包信息的方法。

要列出所有已安装的包及其版本号和说明,只需使用 show:

composer show

有时候把这些信息用依赖关系树的形式查看会更容易理解, 可以通过 --tree or -t 参数:

composer show -t

如果要筛选返回的包,可以使用通配符传递一个额外的字符串参数 *:

composer show 'symfony/*'

这将返回所有已安装的symfony包。注意这里的引号, 如果您使用的是 bash shell,不需要加这个引号, 但是如果您使用的是 zsh 你不用引号的话就会报 ‘no matches found’ 错误。

如果要查看有关特定包的信息,需要完整包名:

composer show laravel/framework

这将向您显示安装的版本、它的许可证和依赖项以及它在本地安装的位置等信息。

why

如果您想知道安装特定软件包的原因,可以使用 why 命令来确定哪些依赖项需要它:

composer why vlucas/phpdotenv

why  为什么是depends命令的别名,但就我个人而言,我发现使用 ‘why’ 更容易记住。您可以使用--tree-t标志在依赖树中查看此信息:

composer why vlucas/phpdotenv -t

why-not

有时,一个或多个已安装的软件包将阻止安装或更新软件包。 为了检查是哪些安装包,我们可以使用 why-not 命令(别名为 prohibits)。 例如,Laravel 最近发布了一个新的5.8版本的框架; 我们可以使用 why-not 命令检查任何阻止我们更新 laravel/framework 包的包:

composer why-not laravel/framework 5.8

同样,我们可以使用 --tree-t 标记在依赖关系树中查看此信息:

composer why-not laravel/framework 5.8 -t

outdated

在使用 composer update 命令前,你也许想检测一下已安装的包,哪些有可以升级的。这可以使用 outdated 命令。

composer outdated

此命令是 composer show -lo 的别名之一。

根据语义化的版本,返回着色的代码,来标明每个包的状态:

  • Green: 当前安装包已是最新版本
  • Yellow: 有可升级的更新, 但可能有不兼容的修改。
  • Red: 有可用的小版本升级 (一般是bug修复)

如果希望高亮显示小的升级版本, 可以使用 outdated 命令,以--minor-only 或者 -m 参数 :

composer outdated -m

状态

我发现自己经常会使用 installupdate 命令的参数 --prefer-source 来处理源代码安装的依赖项。 然后,如果我修改了任何这些依赖项,我需要一种快速检查哪些包已被修改的方法。 status 命令提供了一种方便的方法。

您可以使用 --verbose-v 参数来查看本地修改的软件包和文件:

composer status -v

我发现使用 verbose 标记是使用此命令最有用的方法。

许可

最后,知道您安装的每个软件包的许可证是非常有用的。 Composer 有一个方便的 licenses 命令,用于查询许可的完整列表:

composer licenses

更多相关的composer教程文章,请访问composer使用教程栏目!


# composer  # 可以使用  # 软件包  # 如果您  # 的是  # 安装包  # 您可以  # 我发现  # 会报  # 更容易  # 这将 


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


相关推荐: 如何选择PHP开源工具快速搭建网站?  如何在阿里云部署织梦网站?  如何登录建站主机?访问步骤全解析  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  打造顶配客厅影院,这份100寸电视推荐名单请查收  PHP正则匹配日期和时间(时间戳转换)的实例代码  详解jQuery停止动画——stop()方法的使用  利用python获取某年中每个月的第一天和最后一天  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  如何用y主机助手快速搭建网站?  在Oracle关闭情况下如何修改spfile的参数  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何在宝塔面板中修改默认建站目录?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel PHP版本要求一览_Laravel各版本环境要求对照  如何在Windows虚拟主机上快速搭建网站?  Linux网络带宽限制_tc配置实践解析【教程】  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  如何快速选择适合个人网站的云服务器配置?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  原生JS获取元素集合的子元素宽度实例  b2c电商网站制作流程,b2c水平综合的电商平台?  Java类加载基本过程详细介绍  微信小程序 配置文件详细介绍  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  QQ浏览器网页版登录入口 个人中心在线进入  网站建设保证美观性,需要考虑的几点问题!  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  香港服务器WordPress建站指南:SEO优化与高效部署策略  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  IOS倒计时设置UIButton标题title的抖动问题  高端企业智能建站程序:SEO优化与响应式模板定制开发