PHPer必學:這幾個composer命令要認識一下!
Composer 是 PHP 的一個依賴管理工具。如果你是一名 PHP 開發人員,那麼你很可能每天都在使用它並且頻繁的執行命令 require, install和 update。也許你並沒有意識到, 我們可以使用一些其他的 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
狀態
我發現自己經常會使用 install 、update 命令的引數 --prefer-source 來處理原始碼安裝的依賴項。然後,如果我修改了任何這些依賴項,我需要一種快速檢查哪些包已被修改的方法。status 命令提供了一種方便的方法。
您可以使用 --verbose 或 -v 引數來檢視本地修改的軟體包和檔案:
composer status -v
我發現使用 verbose 標記是使用此命令最有用的方法。
許可
最後,知道您安裝的每個軟體包的許可證是非常有用的。Composer 有一個方便的 licenses 命令,用於查詢許可的完整列表:
composer licenses
以上內容希望幫助到大家, 很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務程式碼寫多了沒有方向感,不知道該從那裡入手去提升,對此我整理了一些資料,包括但不限於:分散式架構、高可擴充套件、高效能、高併發、伺服器效能調優、TP6,laravel,Redis,Swoole、Swoft、Kafka、Mysql優化、shell指令碼、Docker、微服務、Nginx等多個知識點高階進階乾貨需要的可以免費分享給大家 ,需要戳這裡 PHP進階架構師>>>實戰視訊、大廠面試文件免費獲取
相關文章
- 必須要理解幾個linux命令(摘至網路)Linux
- JDK動態代理筆記,學習框架必備知識,學習框架之前先學一下這個JDK筆記框架
- Redis幾個認識誤區(轉)Redis
- 學習java多執行緒,這必須搞懂的這幾個概念Java執行緒
- 做數倉運維,你必須要認識這個眼觀六路耳聽八方的“能人”運維
- 避免HBase PageFilter踩坑,這幾點你必須要清楚Filter
- 想要學好Linux,搞定這幾個命令將會事半功倍!Linux
- 快速認識,前端必學程式語言:JavaScript前端JavaScript
- aardio 開發桌面應用,這幾點必須要掌握!
- C++必知的幾個知識點C++
- 初學Java該學哪些知識?這6大知識必學Java
- 初學Web前端開發,學會這幾個必殺技,薪資爆表!Web前端
- 資料安全認證你有幾個?來了解一下
- Linux的幾個新手必備的命令(一)Linux
- 來認識一下venus-init——一個讓你僅需一個命令開始Java開發的命令列工具Java命令列
- 【雲端計算】雲端計算四個必學知識看這裡!
- Linux必學的60個命令Linux
- 三消遊戲收益提升,必須學會這幾招遊戲
- 如何高效學習Linux?這些命令要掌握!Linux
- 這幾個python常用的庫你必須知道!Python
- composer命令
- Web前端要學什麼框架呢?推薦這幾款Web前端框架
- 重新認識CREATE DATAFILE命令
- 轉:學習TSM必須理解的幾個概念
- 獨立遊戲想要生存 開發者必須要問自己這個問題遊戲
- Web前端主要學什麼?這些知識要掌握Web前端
- Linux必學的60個命令(6)-其他Linux
- PHP-認識一下系統常量PHP
- git 必須要熟練掌握的命令Git
- MySql 幾個命令MySql
- 入門Java你需要了解的幾個知識要點!Java
- 學習Python之前,必須要搞定這三件事情!Python
- 人工智慧要普及,這一步必須要先行!人工智慧
- Linux新手入門必須要掌握的10個知識點!Linux
- 認識一下HTTP抓包工具FiddlerHTTP
- 傳統生鮮配送企業必須要解決的幾個問題
- 關於Mysql事務,你必須知道的幾個知識點!MySql
- linux 幾個命令Linux