下面由composer使用教學欄位來跟大家介紹Yii2 composer安裝慢的解決方法。
在yii中引用php的開源專案用composer已經很方便了,引用前端的開源專案也有composer的外掛fxp-asset(https://github.com /fxpio/composer-asset-plugin)和Asset Packagist(https://github.com/hiqdev/asset-packagist)
以前yii預設採用前者,現在新的yii2模版預設採用後者,後者的作者就很厲害了,似乎是個重度yii用戶,看來是被fxp-asset的執行緩慢給弄急眼了,所以自己搞了個更新的方法。
言歸正傳:
所以更快速的安裝方式就是Asset Packagist https://asset-packagist.org
其實是2步:
#在config中關閉fxp-asset的呼叫
在來源清單中加入asset-packagist庫的設定
"config": { "process-timeout": 1800, "fxp-asset": { "enabled": false } }, "repositories": [ { "type": "composer", "url": "https://asset-packagist.org" } ]
如果composer的來源採用阿里雲鏡像,完整寫法如下:
"repositories": { "0": { "type": "composer", "url": "https://asset-packagist.org" }, "packagist": { "type": "composer", "url": "https://mirrors.aliyun.com/composer/" } }
要注意的是,yii在yii\base\Application 中定義vendor路徑的時候也定義了bower和npm路徑:
/** * Sets the directory that stores vendor files. * @param string $path the directory that stores vendor files. */ public function setVendorPath($path) { $this->_vendorPath = Yii::getAlias($path); Yii::setAlias('@vendor', $this->_vendorPath); Yii::setAlias('@bower', $this->_vendorPath . DIRECTORY_SEPARATOR . 'bower'); Yii::setAlias('@npm', $this->_vendorPath . DIRECTORY_SEPARATOR . 'npm'); }
這就和asset-packagist的預設安裝路徑有了差別解決辦法:
重新定義yii中的bower和npm路徑
$config = [ ... 'aliases' => [ '@bower' => '@vendor/bower-asset', '@npm' => '@vendor/npm-asset', ], ... ];
更多composer技術文章,可以造訪composer指令使用教學欄位!
以上是Yii2 composer安裝慢的解決辦法的詳細內容。更多資訊請關注PHP中文網其他相關文章!