首页 网络技术
  1. 正文

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',
],
...
];

本文标题:Yii2 composer安装慢怎么办
本文链接:https://www.qqooo.cn/post/5755.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 xsds@vip.qq.com 处理,谢谢!