上一篇文章咱們聊了版本號以及它的一些注意事項,是否是有一丟丟小收穫呢?這一篇咱們來講說composer的一些經常使用的命令。php
全局參數雖然不是必要的,可是有時候能夠幫助咱們更好地瞭解並使用 composer:laravel
# 查看composer的版本 > composer -V # debug模式,輸出詳細的命令執行過程 > composer -vvv # 取消交互模式( --no-interaction ) > composer init -n # 終端不輸出任何信息( --quiet ) > composer require vendor/package -n
從上面所列舉的經常使用全局參數中能夠發現一個規律:縮略形式使用"-",完整形式使用"--"。git
require和install都是用來安裝依賴包的。 require一般用於安裝指定的某一個依賴包,而 install一般用於剛從版本庫克隆下來的項目它的依賴包初始化工做。 github
區別:前者不依賴composer.json文件,若是文件不存在則會自動建立。然後者必須依賴 composer.json文件或者 composer.lock文件,不然會報錯! json
此外, install命令的行爲有一點須要注意:當存在 composer.lock文件時會以其中指定的依賴包及版本進行安裝,當不存在時,則會根據 composer.json聲明的依賴包及版本進行安裝並生成 composer.lock文件。composer
# 安裝指定依賴包 > composer require vendor/package # 項目從github上拉取下來後,安裝全部的依賴 > composer install
注: composer.lock 顧名思義,它的做用就是鎖定,記錄當前已經安裝的包信息,保證多人開發項目版本的一致性。它將會省掉檢查新版等不少工做,直接從文件裏讀取下載地址開始下載,會快不少。框架
用於刪除指定的依賴包。該命令會更新 composer.json以及 composer.lock文件。網站
這裏也有一個注意點:直接刪除 vendor目錄下面的包並不會更新 composer.lock文件,下次執行install命令仍舊會安裝上。ui
#刪除指定的依賴包 > composer remove vendor/package
用於更新依賴包。主要有三種使用場景:spa
# 更新指定的依賴包 > composer update vendor/package
# 更新當前項目的全部依賴包 > composer update
# 修改了composer.json文件使其生效,一樣會修改composer.lock文件 > composer update
用於搜索依賴包。它其實就是 http://packagist.org 網站的搜索框功能:
默認是根據包名稱、包描述等等關鍵字進行匹配,也能夠作一些定製化處理:
# 只根據包名稱匹配( --only-name ) > composer search -n laravel # 只根據包的類型匹配( --type ) > composer search laravel -t project
當咱們用框架初始化項目時通常會用到這個命令,例如:我須要用laravel框架開發一個博客系統,前期項目初始化:
# 初始化項目 > composer create-project laravel/laravel blog
注: create 等價於 create-project,由於 composer 能夠根據 create 惟一肯定命令爲create-project。實際上任何縮寫只要與之對應的命令惟一,composer都是會執行的。
當你修改了composer.json文件的autoload屬性值時,爲了使其生效你須要執行該命令:
# 自動加載 > composer dump-autoload
查看配置信息。例如:
# 查看當前項目的配置信息( --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命令,但願對你有幫助。
關注公衆號第一時間獲取最新文章動態: