上一篇文章我們聊了版本號以及它的一些注意事項,是不是有一丟丟小收穫呢?這一篇我們來說說 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 命令,希望對你有幫助。
關注公衆號獲取最近文章更新動態: