下面由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中文网其他相关文章!