学习
实践
活动
工具
TVP
写文章

Drupal Composer 系列二:更快

用于众所周知的原因,Stackoverflow,Github等技术相关网站在国内访问速度一直不快,Composer 也不例外。

有什么方法可以让它变得快一点。

一、心理上变快

Drupal Composer 系列一:初识

中,提到过在 Composer 相关命令后加 -vvv,它应该可以让人从心理上感觉 Composer 快了不少。至少在“动”,而不是“卡”在那里。

二、使用镜像:Packagist / Composer 中国全量镜像

和其他类似工具一样,如 NPM, 在国内有免费镜像可以使用。Composer 镜像则推荐使用 Packagist / Composer 中国全量镜像。

https://www.phpcomposer.com/

它的使用方式很简单,一行命令即可:

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

以上是全局的方式,其他使用方式请参考其官网文档。

使用镜像有一点不足是,偶尔可能会有滞后,在使用的时候有的依赖还没有被同步过来。

三、使用开源软件 toran 自建 Composer 镜像服务器:

镜像服务器也可以称为代理服务器,在这里不加区别。

如果已经安装了 docker 和 docker-compose,部署一个 Composer 镜像服务器就是一个配置文件加一行命令的事。

还有一个前提是需要有一个在国外的服务器。

一个配置文件即 docker-compose.yml,示例内容如下:

version:"2"

services:

toran:

image:cedvan/toran-proxy:1.5.4

container_name:toran

volumes:

- ./data:/data/toran-proxy

ports:

- 80:80

environment:

- TORAN_HOST=packagist.jungleran.com

- TORAN_CRON_TIMER=hour

- TORAN_AUTH_ENABLE=true

- TORAN_AUTH_USER=jungle

- TORAN_AUTH_PASSWORD=jungle

Toran Docker 镜像链接:

https://hub.docker.com/r/cedvan/toran-proxy/

一条命令即

docker-compose up -d

然后一个属于的自己 Composer 镜像服务器就架好了。

使用自定义镜像服务器时,composer.json 文件示例配置如下:

{

"name":"jungle/demo",

"description":"demo",

"type":"project",

"repositories": [

{

"type":"composer",

"url":"http://packagist.jungleran.com/repo/packagist/"

},

{"packagist":false}

],

"config": {

"secure-http":false,

"http-basic": {

"packagist.iegio.com": {

"username":"jungle",

"password":"jungle"

}

}

}

}

关键在 repositories 和 config 部分,其中:

示例中没有配置 https,所以设置 secure-http 为 false

示例中的 Toren 服务器启用了简单的密码保护,阻止未授权的访问,账号密码均为:jungle,在 composer.json 文件中,其对应的设置为 http-basic 部分

当前,我自己有在使用自建镜像服务器。

四、更快:并行

Composer 本身并不支持并行,有人已经开发了一个 Composer 插件,可以实现并行。

项目代码库:

https://github.com/hirak/prestissimo

安装:

composer global require hirak/prestissimo

以上是全局安装,更多请访问该项目文档。

(正文完)

可能是一段代码的分析,也可能是一个模块介绍,可能是一个架构分享,也可能是分享如何解决一个具体的问题。任何 Drupal 相关的文字,都有可能会出现在这里。

如果需要加入Drupal重庆微信群,请先添加我的个人微信号:twitteran,再通过邀请方式加入。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G0N0G400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券