What is??composer?
composer是一個(gè)php的包管理工具,上面存放著經(jīng)過(guò)php官方維護(hù)和篩選的包,它的目的使得項(xiàng)目的擴(kuò)展維護(hù)更加簡(jiǎn)單,代碼更加簡(jiǎn)潔.
它的官網(wǎng)是??https://getcomposer.org/? ?不過(guò)因?yàn)楸娝苤脑?如果要訪問(wèn)的話,需要自備梯子?
好在還有中文官網(wǎng)可以訪問(wèn)啊? 中文官網(wǎng)? ?https://www.phpcomposer.com/? 不過(guò)挺坑的 .有的時(shí)候鏡像源都不能用,前段時(shí)間因?yàn)榍焚M(fèi)停用了好幾個(gè)月,也是可以了
詳細(xì)的安裝過(guò)程官網(wǎng)上都有,在此不再贅述? 下面 我來(lái)說(shuō)下安裝和使用時(shí)的注意事項(xiàng)
composer安裝好后,運(yùn)行? ??composer -V? 如果一切ok的話 輸出類似這樣
接下來(lái) 可以使用 composer -h? 查看使用幫助
>composer --raw
composer 在安裝后會(huì)自己生成一個(gè)公共的配置文件 這些文件包含composer.json 等文件,注意這個(gè)文件是它的全局配置文件,如果沒(méi)有生成
可以手動(dòng)生成,(使用? composer?init)生成 它會(huì)默認(rèn)使用這個(gè)安裝目錄下的文件的配置
可以使用composer global 來(lái)配置和使用這個(gè)文件
當(dāng)然,如果你想單獨(dú)給一個(gè)項(xiàng)目使用不同的配置的話,可以單獨(dú)在項(xiàng)目里配置composer.json文件
下面來(lái)看常用的命令
composer install [packagename] 安裝指定的包名? ?#這里的packagename的包名是從https://packagist.org/獲取的包名,不是隨便寫的
#如果省略packagename的話,則會(huì)安裝整個(gè)composer.json文件中所有的包名
composer update [packagename] 更新包 這個(gè)是獲取整個(gè)文件中最新的包名 ,更新應(yīng)用到項(xiàng)目中
composer require? packagename? 這個(gè)packagename?是必須的,意思是單獨(dú)獲取指定(版本)的包名
composer clear? ?清除公共配置文件的緩存
composer??selfupdate? ?更新composer本身的版本? 這里注意不是項(xiàng)目是本身
排錯(cuò)常用
compoer why-not? ? ?查看這個(gè)包的安裝或者更新 哪里有問(wèn)題
安裝完擴(kuò)展包后,會(huì)自動(dòng)生成composer.lock文件 如果想重新安裝,手動(dòng)刪除這個(gè)文件
compoer validate 驗(yàn)證composer.lock和composer.json中是否有語(yǔ)法錯(cuò)誤
最常見(jiàn)的就是你的php版本和composer的包要求的版本不一樣? 例如
composer require phpunit/phpunit
它要求的版本是7.1以上的,如果你的版本低于7.1,就會(huì)報(bào)錯(cuò)? 所以要升級(jí)你的php版本或者安裝低版本的包
composer require branchname [versionnumber] 可以安裝指定版本的包
composer require ultraware/roles 5.5.0? ?#這個(gè)就是指定的5.5.0版本的包
最后,說(shuō)下下載時(shí)遇到的地址不可用的問(wèn)題
由于中文網(wǎng)維護(hù)的不好,所以有時(shí)你需要重新配置別的鏡像源安裝??
composer config [-g]?repo.packagist composer?https://packagist.laravel-china.org? #這個(gè)是aravel-china的國(guó)內(nèi)鏡像
加上-g? 為全局配置,不加為單獨(dú)的項(xiàng)目配置