为了账号安全,请及时绑定邮箱和手机立即绑定

composer安装中出现enter proxy url怎么处理?

composer安装中出现enter proxy url怎么处理?

PHP
慕田峪9158850 2018-10-11 15:11:53
composer安装中出现enter proxy url怎么处理
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

要明白是什么影响了Composer的运行速度,必须先理解Composer的运行原理。Composer的大致运行步骤如下:

分析你的composer.json文件,找到所有需要安装的第三方的名称和对应的版本号

2.从本地缓存目录和Packagist服务器获取上述的第三方的信息,包含最新版本,代码存放等等

3.分析依赖关系,根据包依赖、版本是否有更新等条件计算出最终需要安装的第三方的清单

4.根据这份清单第三方的源代码,根据参数的不同,方式会是用Git Clone项目或者是直接Zip包

5.将第三方安装到本地,一般是安装在项目下的./vendor目录,同时根据参数生成用于载入第三方的autoload文件

分析:从上述步骤中可以看到Composer在运行时会有5个不同的阶段,而其中1、2、3、4步都是会因为各种原因导致Composer执行速度缓慢的,类似composer-proxy这样的Composer镜像/代理站其实已经解决了第1、2步骤速度慢的问题,也就是加快从Packagist版本更新定义文件慢的这一步。而3这一步由于PHP的运行效率所限制,加上计算依赖的算法又特别复杂,所以如果用的第三方特别多,就特别容易造成内存不足、超时、运行缓慢等问题。

测试基于6个项目进行composer update --dry-run得出,可以看到使用了HHVM之后速度从2分14秒提高到了34秒,平均6秒就完成一个项目的composer update,可见速度提升是非常大的。

查看完整回答
反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 4513 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信