Yii2 composer安装慢的解决办法

发布时间 - 2019-10-25 00:00:00    点击率:

下面由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命令使用教程栏目!


# composer  # 解决办法  # 开源  # 的是  # 是个  # 也有  # 这就  # 言归正传  # 给大家  # 镜像  # 很厉害 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何编写单元测试和功能测试?(PHPUnit示例)  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何在局域网内绑定自建网站域名?  Python3.6正式版新特性预览  Laravel如何为API生成Swagger或OpenAPI文档  java ZXing生成二维码及条码实例分享  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  简历在线制作网站免费版,如何创建个人简历?  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  利用JavaScript实现拖拽改变元素大小  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何挑选高效建站主机与优质域名?  Laravel如何使用withoutEvents方法临时禁用模型事件  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何快速查询网址的建站时间与历史轨迹?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Laravel怎么实现模型属性的自动加密  详解Android——蓝牙技术 带你实现终端间数据传输  如何在腾讯云服务器上快速搭建个人网站?  如何将凡科建站内容保存为本地文件?  如何自定义建站之星模板颜色并下载新样式?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何用景安虚拟主机手机版绑定域名建站?  zabbix利用python脚本发送报警邮件的方法  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  黑客如何利用漏洞与弱口令入侵网站服务器?  高性价比服务器租赁——企业级配置与24小时运维服务  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  在线制作视频网站免费,都有哪些好的动漫网站?  网站页面设计需要考虑到这些问题  Android利用动画实现背景逐渐变暗  太平洋网站制作公司,网络用语太平洋是什么意思?  使用C语言编写圣诞表白程序  Android滚轮选择时间控件使用详解  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Thinkphp 中 distinct 的用法解析