Composer는 PHP용 종속성 관리 도구입니다. PHP 개발자라면 매일 사용하고 필요한 명령을 자주 실행하고 설치하고 업데이트할 것입니다. 깨닫지 못한 경우에는 다른 Composer 명령을 사용하여 더 쉽게 사용할 수 있습니다.
사용할 수 있는 명령어가 많지만 오늘은 제가 매일 사용하고 도움이 되는 6가지 명령어를 공유하겠습니다.
show
먼저 show 명령에 대해 이야기해 보겠습니다. 이를 통해 프로젝트에 설치된 모든 패키지(종속성 포함)를 볼 수 있을 뿐만 아니라 관련 패키지에 대한 설명도 볼 수 있습니다. 이 모든 정보는 Composer 잠금 파일(composer.lock)에서 찾을 수 있지만 show 명령을 사용하는 것이 패키지 정보를 보는 비교적 간단하고 편리한 방법입니다.
설치된 모든 패키지를 버전 번호 및 설명과 함께 나열하려면 show:
composer 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
状态
我发现自己经常会使用 install 、update 命令的参数 --prefer-source 来处理源代码安装的依赖项。然后,如果我修改了任何这些依赖项,我需要一种快速检查哪些包已被修改的方法。status 命令提供了一种方便的方法。
您可以使用 --verbose 或 -v 参数来查看本地修改的软件包和文件:
composer status -v
我发现使用 verbose 标记是使用此命令最有用的方法。
许可
最后,知道您安装的每个软件包的许可证是非常有用的。Composer 有一个方便的 licenses 命令,用于查询许可的完整列表:
composer licenses
composer show -t
반환된 패키지를 필터링하려면 와일드카드를 사용하여 추가 문자열 매개변수를 전달할 수 있습니다*:
작곡가 쇼 'symfony/*'