推薦六個鮮為人知的Composer指令

步履不停
發布: 2019-08-02 16:32:35
原創
3618 人瀏覽過

推薦六個鮮為人知的Composer指令

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指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!