Yii2 composer安装慢的解决办法

藏色散人
发布: 2019-10-25 13:52:13
转载
4179 人浏览过

下面由composer使用教程栏目给大家介绍Yii2 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中文网其他相关文章!

相关标签:
来源:segmentfault.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板