问题
一般我们在使用composer install
和composer 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" } }