Composer更新慢的解决方案

问题

   一般我们在使用composer installcomposer update时,有的时候安装和更新速度非常慢,慢的让人捉急,这个时候我们可以通过下面的方案来解决这个问题。

问题原因

   首先,我们需要知道为什么慢呢?这是因为一般情况下,安装包的数据(主要是zip文件)一般是从github.com上下载的,安装包的元数据是从packagist.org 上下载的。

   然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。

   “Packagist中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的CDN进行加速,这样就不必再去向国外的网站发起请求,从而达到加速composer install以及composer update的过程,并且更加快速、稳定。因此,即使packagist.org、github.com发生故障(主要是连接速度太慢和被墙),我们仍然可以下载、更新安装包。

解决方案

   既然知道了问题原因,接下来我们就需要启用本地镜像服务。有两种方式启用本镜像服务:

  • 系统全局配置: 即将配置信息添加到Composer的全局配置文件config.json中;
  • 单个项目配置:将配置信息添加到某个项目的composer.json文件中。

   对于系统全局配置,打开命令行窗口(windows用户)或控制台(Linux、Mac用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

   对于单个项目配置,打开命令行窗口(windows用户)或控制台(Linux、Mac用户),进入项目的根目录(也就是composer.json 文件所在目录),执行如下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com

   上述命令将会在当前项目中的composer.json文件的末尾自动添加镜像的配置信息(我们也可以自己手工添加):

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.phpcomposer.com"
    }
}

 

posted @ 2019-07-23 11:00  龙福  阅读(186)  评论(0编辑  收藏  举报