下面由composer教程欄目給大家整理介紹常用的Composer命令,希望對需要的朋友有所幫助!
composer是php包管理工具,使用它可以很方便進(jìn)行構(gòu)建項目,載入三方包,以及各種復(fù)雜依賴,自動加載等需要。
安裝composer
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
安裝后,使用composer -v來查看版本號等信息。
修改代碼倉庫源
由于composer默認(rèn)的源服務(wù)器在國外,因為眾所周知的原因,下載龜速,我們需要將其替換為國內(nèi)的全量源,目前可用的有這兩個:
來自 https://php.cnpkg.org/
composer config -g repos.packagist composer https://php.cnpkg.org
來自 Laravel China
composer config -g repo.packagist composer https://packagist.laravel-china.org
查看全部全局配置
composer config -g --list
查看單個項目全部配置
composer config --list
查看某個配置
composer config -g repositories.packagist.org
取消某一項配置
composer config -g --unset repos.packagist
創(chuàng)建新項目
創(chuàng)建一個Yii項目
composer create-project --prefer-dist yiisoft/yii2-app-basic basic.com
其中create-project命令后面的–prefer-dist還可以使用–prefer-source,它們的區(qū)別:
–prefer-dist會從github上下載.zip壓縮包,并緩存到本地。下次再安裝就會從本地加載,大大加速安裝速度。但她沒有保留 .git文件夾,沒有版本信息。適合基于這個package進(jìn)行開發(fā)。
–prefer-source 會從github上clone源代碼,不會在本地緩存(最新的版本也可以使用緩存了)。保留了.git文件夾,從而可以實現(xiàn)版本控制。適合用于修改源代碼。
推薦使用–prefer-dist可以加快速度,在使用的時候有可能會有下面類似的警告:
Failed to download yiisoft/yii2-gii from dist: The zip extension and unzip command are both missing, skipping. Your command-line PHP is using multiple ini files. Run `php --ini` to show them.
環(huán)境中缺少zip,unzip工具包,安裝一下:
apt-get install zip unzip
之后跟的yiisoft/yii2-app-basic就是項目包名,最后面的basic.com指定新建項目文件夾。
檢索倉庫里的包
composer search monolog/monolog
安裝新依賴包
composer require monolog/monolog
控制版本號
# 指定版本 composer require monolog/monolog 1.24.0 # 版本范圍 # 有效的運算符有 >、>=、<、<=、!=,運算符中間使用逗號隔開視作邏輯AND,使用|隔開,視作邏輯OR,AND的優(yōu)先級更高 # 支持通配符 * # 支付波浪號運算符 ~ 限定在最低版本和下一個重要版本更新之前 # 以下都是有效的版本號 # 版本大于等于1.0 >=1.0 # 版本大于等于1.0并且小于2.0 >=1.0,<2.0 # 版本大于等于1.0并且小于1.1,或者版本大于等于1.2 >=1.0,<1.1|>=1.2 # 相當(dāng)于>=1.0,<1.1 1.0.* # 相當(dāng)于>=1.2,<2.0 ~1.2 # 相當(dāng)于>=1.2.3,<1.3 ~1.2.3 # 相當(dāng)于>=1.2.3,<2.0.0 在多于2位的版本號的時候跟 ~ 有區(qū)別 ^1.2.3
移除依賴包
composer remove monolog/monolog
初始化一個composer.json
composer init
查看已存在的包
composer info
根據(jù)composer.lock安裝依賴包(如果存在),否則根據(jù)composer.json
composer install
根據(jù)composer.json更新依賴到指定范圍內(nèi)最新版,并更新composer.lock文件
composer update
清理緩存
composer clearcache
更新composer.phar
composer self-update