文章轉發自專業的Laravel開發者社區,原始連接:learnku.com/laravel/t/2…php
Composer 是 PHP 的一個依賴管理工具。 若是你是一名 PHP 開發人員,那麼你極可能天天都在使用它而且頻繁的運行命令 require
, install
和 update
。也許你並無意識到, 咱們可使用一些其餘的 Composer 命令,來更加輕鬆的使用它。laravel
它有許多的命令可使用,但今天我將分享我使用的而且天天都有幫助的 6 個命令。shell
先說下 show
命令。它容許您查看項目的全部已安裝包(包括依賴項),以及查看相關包的說明。全部這些信息均可以在Composer鎖文件(composer.lock)中找到, 可是使用 show
命令相對來講是一種更簡單、更方便的一種查看包信息的方法。bash
要列出全部已安裝的包及其版本號和說明,只需使用 show
:composer
composer show
複製代碼
有時候把這些信息用依賴關係樹的形式查看會更容易理解, 能夠經過 --tree
or -t
參數:框架
composer show -t
複製代碼
若是要篩選返回的包,可使用通配符傳遞一個額外的字符串參數 *
:工具
composer show 'symfony/*'
複製代碼
這將返回全部已安裝的symfony包。注意這裏的引號, 若是您使用的是 bash shell,不須要加這個引號, 可是若是您使用的是 zsh 你不用引號的話就會報 ‘no matches found’ 錯誤。ui
若是要查看有關特定包的信息,須要完整包名:spa
composer show laravel/framework
複製代碼
這將向您顯示安裝的版本、它的許可證和依賴項以及它在本地安裝的位置等信息。code
若是您想知道安裝特定軟件包的緣由,可使用 why 命令來肯定哪些依賴項須要它:
composer why vlucas/phpdotenv
複製代碼
why
是depends命令的別名,但就我我的而言,我發現使用 ‘why’ 更容易記住。您可使用--tree
或-t
標誌在依賴樹中查看此信息:
composer why vlucas/phpdotenv -t
複製代碼
有時,一個或多個已安裝的軟件包將阻止安裝或更新軟件包。 爲了檢查是哪些安裝包,咱們可使用 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
複製代碼
在使用 composer update
命令前,你也許想檢測一下已安裝的包,哪些有能夠升級的。這可使用 outdated
命令。
composer outdated
複製代碼
此命令是 composer show -lo
的別名之一。
根據語義化的版本,返回着色的代碼,來標明每一個包的狀態:
若是但願高亮顯示小的升級版本, 可使用 outdated
命令,以--minor-only
或者 -m
參數 :
composer outdated -m
複製代碼
我發現本身常常會使用 install
、update
命令的參數 --prefer-source
來處理源代碼安裝的依賴項。 而後,若是我修改了任何這些依賴項,我須要一種快速檢查哪些包已被修改的方法。 status
命令提供了一種方便的方法。
您可使用 --verbose
或 -v
參數來查看本地修改的軟件包和文件:
composer status -v
複製代碼
我發現使用 verbose 標記是使用此命令最有用的方法。
最後,知道您安裝的每一個軟件包的許可證是很是有用的。 Composer 有一個方便的 licenses
命令,用於查詢許可的完整列表:
composer licenses
複製代碼