聽說你也想學 Composer----常見命令手冊

三斤和他的喵發表於2020-03-05

上一篇文章我們聊了版本號以及它的一些注意事項,是不是有一丟丟小收穫呢?這一篇我們來說說composer的一些常用的命令

全域性引數

全域性引數雖然不是必要的,但是有時候可以幫助我們更好地瞭解並使用 composer:

# 檢視composer的版本
> composer -V

# debug模式,輸出詳細的命令執行過程
> composer -vvv

# 取消互動模式( --no-interaction )
> composer init -n 

# 終端不輸出任何資訊( --quiet )
> composer require vendor/package -n

從上面所列舉的常用全域性引數中可以發現一個規律:縮略形式使用”-“,完整形式使用”–”

require和install(增)

require和install都是用來安裝依賴包的。 require通常用於安裝指定的某一個依賴包,而 install通常用於剛從版本庫克隆下來的專案它的依賴包初始化工作。

區別:前者不依賴composer.json檔案,如果檔案不存在則會自動建立。而後者必須依賴 composer.json檔案或者 composer.lock檔案,否則會報錯!

此外, install命令的行為有一點需要注意:當存在 composer.lock檔案時會以其中指定的依賴包及版本進行安裝,當不存在時,則會根據 composer.json宣告的依賴包及版本進行安裝並生成 composer.lock檔案。

# 安裝指定依賴包
> composer require  vendor/package

# 專案從github上拉取下來後,安裝所有的依賴
> composer install

注: composer.lock 顧名思義,它的作用就是鎖定,記錄當前已經安裝的包資訊,保證多人開發專案版本的一致性。它將會省掉檢查新版等很多工作,直接從檔案裡讀取下載地址開始下載,會快很多。

remove(刪)

用於刪除指定的依賴包。該命令會更新 composer.json以及 composer.lock檔案。

這裡也有一個注意點:直接刪除 vendor目錄下面的包並不會更新 composer.lock檔案,下次執行install命令仍舊會安裝上。

#刪除指定的依賴包
> composer remove vendor/package

update(改)

用於更新依賴包。主要有三種使用場景:

  • 更新指定的依賴包
# 更新指定的依賴包
> composer update vendor/package
  • 更新當前專案的所有依賴包
# 更新當前專案的所有依賴包
> composer update
  • 修改了 composer.json檔案並使其生效
# 修改了composer.json檔案使其生效,同樣會修改composer.lock檔案
> composer update

search(查)

用於搜尋依賴包。它其實就是 http://packagist.org 網站的搜尋框功能:

預設是根據包名稱、包描述等等關鍵字進行匹配,也可以做一些定製化處理:

# 只根據包名稱匹配( --only-name )
> composer search -n laravel

# 只根據包的型別匹配( --type )
> composer search laravel -t project

create-project(初始化專案)

當我們用框架初始化專案時一般會用到這個命令,例如:我需要用laravel框架開發一個部落格系統,前期專案初始化:

# 初始化專案
> composer create-project laravel/laravel blog

注: create 等價於 create-project,因為 composer 可以根據 create 唯一確定命令為create-project。實際上任何縮寫只要與之對應的命令唯一,composer都是會執行的。

dump-autoload(自動載入)

當你修改了composer.json檔案的autoload屬性值時,為了使其生效你需要執行該命令:

# 自動載入
> composer dump-autoload

config(配置)

檢視配置資訊。例如:

# 檢視當前專案的配置資訊( --list )
> composer config -l

# 檢視全域性的配置資訊( --global --list )
> composer config -g -l

注: 全域性的配置資訊在家目錄的 .composer 資料夾下,名為 config.json 。

配置命令有一個比較常用的使用場景:切換全域性映象

# 切換全域性映象> composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/

總結

本文主要介紹了一些常用的composer命令,希望對你有幫助。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

三斤

相關文章