composer 在install的时候会做这几个事情:

  • 去packagist.org中寻找对应需要的包的版本信息和下载地址
  • 循环下载对应的包
  • 解压安装对应的包

我们平时使用composer慢就可能在第一步和第二步出现慢。而第三步,由于php的版本或者依赖限制,也有可能安装失败。
第一步中的packagist.org保存了所有的第三方包的信息。要把这个信息文件从国外的网站拉取下来,这个本身就可能非常慢。
第二步获取了包信息之后,我们就需要把相关的包获取下来,这个时候如果包所在的地址(现在大多数包都放在github上了)访问非常慢,那么这一步就会非常慢了。

解决慢的办法有几个:
1 使用国内镜像。

2 我们可以不可以自己搭建镜像呢?

可以的,这里有个开源项目(toran proxy)[https://toranproxy.com/]可以配合nginx很方便搭建属于自己的composer镜像。

自己的第三方包

还有一种需求,公司现在开发了一个第三方包,但是不希望开源到packagist.org上,只希望给自己公司内部使用。怎么办?

这个可以使用composer代理(satis)[https://github.com/composer/satis]来创建。搭建的方式也是非常简单的。其实上面说的toran proxy就是基于satis来创建的。

satis和toran的区别就是,satis只是做了代理,即将composer install的第一步做了替换,而toran则是将composer install的第一步和第二步都进行了替换。

最新文章

  1. make phpexcel working with XAMPP7.0.9
  2. NHibernate中多表(对象)间的查询
  3. android学习者优秀网址推荐
  4. 第一次作业---安卓开发工具Android studio发展演变
  5. Java基础知识强化之集合框架笔记39:Set集合之HashSet存储字符串并遍历
  6. HDU 1269 迷宫城堡 【强联通分量(模版题)】
  7. 6th day
  8. 201421123042 《Java程序设计》第10周学习总结
  9. IDE中使用System.getProperty()获取一些属性
  10. 在linux上添加硬盘
  11. Note of Python Turtle
  12. 怎么检测浏览器有没有flash播放器
  13. php支付宝接口 的使用
  14. mysql学习------权限机制
  15. Js基础知识1-数组操作全解
  16. SQL引用DAL
  17. linux用户帐号管理/etcpasswd 和/etc/shadow文件
  18. Swift 闭包反向传值
  19. LeetCode 755. Pour Water
  20. 北京Uber优步司机奖励政策(3月10日)

热门文章

  1. 【codeforces 789D】Weird journey
  2. G - Balanced Lineup
  3. mysql备份恢复中的常见错误
  4. 【转】kafka概念入门[一]
  5. sikuli_ide打开提示没有对应的javaw
  6. 什么是Spark?
  7. [POJ 1639] Picnic Planning
  8. if,elif,else的关系 input print int的用法
  9. element-ui 分页中的slot的用法(自定义分页显示内容)
  10. C# net winform wpf 发送post数据和xml到网页