這幾個(gè)composer命令要認(rèn)識(shí)一下!下面由composer使用教程欄目給大家介紹常用的composer命令,希望對(duì)需要的朋友有所幫助!
Composer 是 PHP 的一個(gè)依賴管理工具。如果你是一名 PHP 開發(fā)人員,那么你很可能每天都在使用它并且頻繁的運(yùn)行命令 require, install和 update。也許你并沒有意識(shí)到, 我們可以使用一些其他的 Composer 命令,來更加輕松的使用它。
它有許多的命令可以使用,但今天我將分享我使用的并且每天都有幫助的 6 個(gè)命令。
show
先說下 show 命令。它允許您查看項(xiàng)目的所有已安裝包(包括依賴項(xiàng)),以及查看相關(guān)包的說明。所有這些信息都可以在Composer鎖文件(composer.lock)中找到, 但是使用 show 命令相對(duì)來說是一種更簡(jiǎn)單、更方便的一種查看包信息的方法。
要列出所有已安裝的包及其版本號(hào)和說明,只需使用 show:
composer show
有時(shí)候把這些信息用依賴關(guān)系樹的形式查看會(huì)更容易理解, 可以通過 –tree or -t 參數(shù):
composer show -t
如果要篩選返回的包,可以使用通配符傳遞一個(gè)額外的字符串參數(shù) *:
composer show 'symfony/*'
這將返回所有已安裝的symfony包。注意這里的引號(hào), 如果您使用的是 bash shell,不需要加這個(gè)引號(hào), 但是如果您使用的是 zsh 你不用引號(hào)的話就會(huì)報(bào) ‘no matches found’ 錯(cuò)誤。
如果要查看有關(guān)特定包的信息,需要完整包名:
composer show laravel/framework
這將向您顯示安裝的版本、它的許可證和依賴項(xiàng)以及它在本地安裝的位置等信息。
why
如果您想知道安裝特定軟件包的原因,可以使用 why 命令來確定哪些依賴項(xiàng)需要它:
composer why vlucas/phpdotenv
why 為什么是depends命令的別名,但就我個(gè)人而言,我發(fā)現(xiàn)使用 ‘why’ 更容易記住。您可以使用–tree或-t標(biāo)志在依賴樹中查看此信息:
composer why vlucas/phpdotenv -t
why-not
有時(shí),一個(gè)或多個(gè)已安裝的軟件包將阻止安裝或更新軟件包。為了檢查是哪些安裝包,我們可以使用 why-not 命令(別名為 prohibits)。例如,Laravel 5.8版本的框架; 我們可以使用 why-not 命令檢查任何阻止我們更新 laravel/framework 包的包:
composer why-not laravel/framework 5.8
同樣,我們可以使用 –tree 或 -t 標(biāo)記在依賴關(guān)系樹中查看此信息:
composer why-not laravel/framework 5.8 -t
outdated
在使用 composer update 命令前,你也許想檢測(cè)一下已安裝的包,哪些有可以升級(jí)的。這可以使用 outdated 命令。
composer outdated
此命令是 composer show -lo 的別名之一。
根據(jù)語(yǔ)義化的版本,返回著色的代碼,來標(biāo)明每個(gè)包的狀態(tài):
Green: 當(dāng)前安裝包已是最新版本 Yellow: 有可升級(jí)的更新, 但可能有不兼容的修改。 Red: 有可用的小版本升級(jí) (一般是bug修復(fù))
如果希望高亮顯示小的升級(jí)版本, 可以使用 outdated 命令,以–minor-only 或者 -m 參數(shù) :
composer outdated -m
狀態(tài)
我發(fā)現(xiàn)自己經(jīng)常會(huì)使用 install 、update 命令的參數(shù) –prefer-source 來處理源代碼安裝的依賴項(xiàng)。然后,如果我修改了任何這些依賴項(xiàng),我需要一種快速檢查哪些包已被修改的方法。status 命令提供了一種方便的方法。
您可以使用 –verbose 或 -v 參數(shù)來查看本地修改的軟件包和文件:
composer status -v
我發(fā)現(xiàn)使用 verbose 標(biāo)記是使用此命令最有用的方法。
許可
最后,知道您安裝的每個(gè)軟件包的許可證是非常有用的。Composer 有一個(gè)方便的 licenses 命令,用于查詢?cè)S可的完整列表:
composer licenses