Composer是PHP社区中比较常用的包管理工具,但是在使用过程中,很多开发者会发现在国内安装依赖包的速度非常慢,这主要是因为依赖包需要从国外服务器下载,而国际带宽本来就有限。为了提高Composer的使用效率和便捷性,我们可以使用国内镜像进行操作,以下是提高Composer依赖包安装速度的具体措施。
一、更换Composer默认镜像源
Composer默认的镜像源是packagist.org,而这个镜像源在中国被墙,所以我们可以更换镜像源。常用国内镜像源有:阿里云镜像、清华大学镜像、华为云镜像、腾讯云镜像、中科大镜像等。接下来以阿里云镜像为例进行更换步骤的说明。
1、在命令行中执行以下命令,以更换Composer默认镜像源至阿里云:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
2、检查是否已成功更换Composer默认源,可以在命令行中执行以下命令:
composer config -gl|grep repo.packagist
将会输出:
{ "packagist": { "type": "composer", "url": "https://mirrors.aliyun.com/composer/" }
二、使用阿里云Composer镜像加速器
除了更换Composer默认镜像源以外,阿里云还提供了一种更快速下载Composer依赖包的方法,即使用Composer镜像加速器。具体使用方法如下:
1、在命令行中执行以下命令,添加Composer镜像加速器:
composer config -g repo.packagist composer https://mirrors.aliyuncs.com/composer/
2、在已有的composer.json文件最前面加入以下配置:
"config": {
"secure-http": false
}
3、重新运行Composer install命令即可使用阿里云Composer镜像加速器,例如:
composer install
三、使用Composer镜像缓存工具
除了使用镜像源以外,我们还可以下载Composer镜像缓存工具SpeedUpComposer,使用缓存工具可以大幅提高Composer依赖包下载速度。
1、安装SpeedUpComposer组件:
composer global require fxp/composer-asset-plugin:^1.4
composer global require dann95/speed-up-composer
2、进入到需要使用Composer安装依赖的项目文件夹中,执行以下命令:
speed-up-composer install
这样,Composer依赖包的下载速度就会得到大幅提升。
四、使用国内缓存服务
除了使用阿里云Composer镜像加速器以外,国内还有一些第三方缓存服务,如DaoCloud、码云等都提供了Composer镜像服务,可以加速绑定的引擎的Composer依赖下载,同时具有防并发等功能。
1、安装DaoCloud终端工具DCT:
npm install -g dct-cli
2、终端执行以下命令,创建新容器:
dct create composer
3、进入容器,终端执行以下命令:
dct enter composer
curl https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
至此,我们就成功地将Composer安装在了容器内,可以通过容器内的Composer进行项目的依赖包下载。
五、其他问题解决
在使用Composer的过程中,还有一些其它可能遇到的问题需要解决,如:
1、Composer安装较慢,如何加速安装?
可以通过在线安装或者离线安装的方式进行安装,详情请见官网。
2、Composer下载的依赖包可能会受到网络问题影响,如何解决?
可以在使用Composer时添加指定的依赖包版本号或者锁定当前版本号等方法进行解决。
除此以外,还有其它一些问题,如有需要,可以参考Composer官方文档或者在具体问题时进行查找解决。