Composer 中文镜像 / Packagist 中国全量镜像正式发布!

file

Laravel China 社区镜像,将于 2019 年 9 月 4 号停用。详见:博客:Laravel China 镜像完成历史使命,将于两个月后停用
替代镜像请见 Wiki:Wiki:Composer 国内加速:可用镜像列表

『Composer 中国全量镜像』是由 Laravel China 社区联合 又拍云优帆远扬 共同合作推出的公益项目,旨在为广大 PHP 用户提供稳定和高速的 Composer 国内镜像服务。

镜像的由来?

几个月前,我有幸加入了 优帆远扬 的远程工程师团队。 Summer 在与我沟通过后,提议我们一起合作,以 Laravel China 社区的名义来构建一个高可用性,快速稳定的 Composer 全量镜像。

如何使用?

请尽可能用比较新的 Composer 版本。

使用 Composer 镜像加速有两种选项:

  • 选项一:全局配置,这样所有项目都能惠及(推荐);
  • 选项二:单独项目配置;

选项一、全局配置(推荐)

$ composer config -g repo.packagist composer https://packagist.laravel-china.org

选项二、单独使用

如果仅限当前工程使用镜像,去掉 -g 即可,如下:

$ composer config repo.packagist composer https://packagist.laravel-china.org

取消镜像

composer config -g --unset repos.packagist

遇到问题?

composer 命令后面加上 -vvv (是3个v)可以打印出调错信息,命令如下:

$ composer -vvv create-project laravel/laravel blog
$ composer -vvv require psr/log

如果自己解决不了,或发现 BUG,可以在 [@扣丁禅师](https://learnku.com/users/12063) 的 GitHub 上 创建 Issue

注意提问时请带上 -vvv 的输出,并且要求叙述清晰,第一次提问的同学请阅读 关于提问的智慧

常见问题

  1. 已存在 composer.lock 文件,先删除,再运行 composer install 重新生成。

    原因:composer.lock 缓存了之前的配置信息,从而导致新的镜像配置无效。

  2. 使用 laravel new 命令创建工程, 这个命令会从 这里 下一个zip包,里面自带了 composer.lock,和上面原因一样,也无法使用镜像加速,解决方法:
    • 方法一(推荐):
      不使用 laravel new,直接用 composer create-project laravel/laravel xxx 新建工程。
    • 方法二:
      运行 laravel new xxx,当看见屏幕出现 - Installing doctrine/inflector 时,Ctrl + C 终止命令,cd xxx 进入,删除 composer.lock,再运行 composer install
  3. 缓存多久更新一次?
    • 0时 - 早上7时,这个时间段考虑使用人数不会太频繁,间隔为15分钟
    • 其余时间,间隔为5分钟

      正常更新速度可在1分内完成 ,但更新太快,会降低CDN命中率,如果总有新文件让CDN去缓存,反而拖慢了速度,所以故意加了些延迟。我们每次采集中还会删减掉数千个僵尸包,以加快传输速度。

安装 Composer

Linux/Mac:

wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer
chmod a+x /usr/local/bin/composer

如遇权限不足,可添加 sudo

Windows:

  1. 直接下载 composer.phar,地址:https://dl.laravel-china.org/composer.phar
  2. 把下载的 composer.phar 放到 PHP 安装目录
  3. 新建 composer.bat, 添加如下内容,并保存:
@php "%~dp0composer.phar" %*

查看当前版本

$ composer -V

升级版本

$ composer selfupdate

注意 selfupdate 升级命令会连接官方服务器,速度很慢。建议直接下载我们的 composer.phar 镜像,每天都会更新到最新。

致谢

Composer 中国全量镜像的 CDN 由国内领先 CDN 服务商「又拍云」提供,相信这次联合合作能给 Composer 镜像提供稳定、快速的 CDN 支持。

file

另外也在此特别感谢「优帆远扬」在项目开发中提供的技术支持。

file

尊道贵德 / 多行布施
本帖已被设为精华帖!
讨论数量: 221

@开发者小蓝 如果你所谓的个人崇拜是指上面大家每人一句 ”厉害的禅师!:thumbsup: “ 的话,那可想而知你的人生是没有什么乐趣的,人家花了几个月,研究各种细节,辛苦的做一个免费的东西出来,大家给个赞美。这是人类一直以来再正常不过的行为而已,你却能把它扯到个人崇拜上来,你也是厉害哦。同样的一个道理,当一个人分享好东西的时候,在场的人鼓掌表示赞美与感谢,按你的逻辑是否也是个人崇拜呢?不过话说回来哈,智商低下的人确实很容易盲目崇拜,好在这样的人我也没见过几个,这也是我们的问题,我们争取以后在赞美别人的时候都加一个括号:

厉害的禅师!:thumbsup: (为了防止个人崇拜现象,请智商低的人不要跟风)

生活的乐趣,除了写码,还有很多值得你去发现。

5年前 评论

厉害的禅师!:+1:

5年前 评论
Summer

厉害的禅师!:thumbsup:

5年前 评论

2017.5.22 更新进展:

目前问题已经解决,是机房线路问题,在路由过程中有丢包。如果其他网友仍有我说的卡顿问题,欢迎继续反馈,我们会推进你们当地的宽带运营商协助解决。

另外有个小提示,选用的DNS也会影响路由的线路,最好只用当地运营提供的(一般拨号,默认的就行,不用手动),另外可以试试指定 114.114.114.114

5年前 评论
Summer

大家遇到问题请在这里贴出来,也算是为这个镜像做贡献。

禅师一直在很努力的在做维护工作,最近几天机房线路出了点问题,有些许不稳定,他已经在努,他做这个事情是 没有任何财务回报的 ,大家的鼓励是他的驱动力。这里也请大家语气尊重点,对于那些出言不善的同学,我会选择毫不犹豫地禁言。

5年前 评论

厉害的禅师!:+1:

5年前 评论
Summer

厉害的禅师!:thumbsup:

5年前 评论
Summer

楼下队形请保持整齐 :smile_cat:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
DukeAnn

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
liyu001989

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
王举

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
stoneworld

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

除了命令行search,没有镜像网站? 就像网站 https://packagist.org/

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

@牛玉富 是的,search 是动态查询,暂时动态内容不做镜像站

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
chenyuanqi

厉害的禅师!:thumbsup:

5年前 评论
bestony

厉害的禅师!:thumbsup:

5年前 评论
Destiny

厉害的禅师!:+1:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
小下

赞:+1:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:+1:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
dividez

厉害的禅师!:thumbsup:

5年前 评论
zoroo

厉害的禅师!:+1:

5年前 评论

如何查看镜像同步时间?

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
Bin

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

東西是好東西,但不要搞個人崇拜

5年前 评论
nff93

厉害的禅师!:thumbsup:

5年前 评论

@开发者小蓝 说的对,都让 summer 给带沟里去了,大家点赞可以。还是多反馈问题,并给我们提出改进建议。

5年前 评论

@Insua 看这里,最后有个 update_at 。更新间隔大约5分钟。

主要考虑,provider-xxx 这些json更新太快,会降低CDN命中率,如果总有新文件让CDN去缓存,反而拖慢了速度,所以更新加了延迟(平衡出一个最佳的阈值)。我们每次采集中还会过滤数千个僵尸包,以加快传输速度,欢迎大家和其他镜像对比下,目前或许是国内最快的镜像了。这个速度其实还有提升空间,找时间再改进。

5年前 评论
Summer

@开发者小蓝 要构建一个提供给多数人使用的,高速的全量 Composer 镜像,并不是一件容易的事情。禅师埋头搞了几个星期,也没有从中得到利益。我个人由衷地夸奖他,我觉得,是我的荣幸,请你尊重我的热情。

5年前 评论
DukeAnn

@开发者小蓝 这是对技术的膜拜,跟对开发者的尊敬。正是这种精神推动着技术的发展

5年前 评论

yet another composer mirror?

5年前 评论

@skys215 yes,another one, but faster ?

5年前 评论

@开发者小蓝 如果你所谓的个人崇拜是指上面大家每人一句 ”厉害的禅师!:thumbsup: “ 的话,那可想而知你的人生是没有什么乐趣的,人家花了几个月,研究各种细节,辛苦的做一个免费的东西出来,大家给个赞美。这是人类一直以来再正常不过的行为而已,你却能把它扯到个人崇拜上来,你也是厉害哦。同样的一个道理,当一个人分享好东西的时候,在场的人鼓掌表示赞美与感谢,按你的逻辑是否也是个人崇拜呢?不过话说回来哈,智商低下的人确实很容易盲目崇拜,好在这样的人我也没见过几个,这也是我们的问题,我们争取以后在赞美别人的时候都加一个括号:

厉害的禅师!:thumbsup: (为了防止个人崇拜现象,请智商低的人不要跟风)

生活的乐趣,除了写码,还有很多值得你去发现。

5年前 评论

@overtrue 说得好!沟通无极限。人与人之间多些赞美,感觉也很受鼓舞的。有的东西不能完全用金钱去衡量,一声赞美也许就让人动力十足。不管做得好不好,能为大家做点什么本身就精神可佳!

5年前 评论
snow1

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

@扣丁禅师 只有真正的技術人才懂。

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
medz

问个可能会觉得很傻的问题,这个和 pkg.phpcomposer.com 有什么区别?

5年前 评论
Summer

@medz 这个问题我来回答。最大的区别就是:

这是 Laravel China 社区在维护的,并且 我们团队 是在吃自己的 dog food。

很久以前就想自己 host 这么一个镜像,因为国内还没有 足够权威 的组织来保证其可用性。尤其在经历了 phpcomposer 国内镜像药丸? 这个事件以后,令我越加着急。在这个事件中,Composer 镜像停更了半个月。这对于一般开发者来说可能没什么。但对于我们 优帆远扬 团队,有大量商业项目使用 Composer ,这种程度的稳定性是我们无法接受的。

至于说,为啥我迟迟没有做 LC 的镜像呢?我能说是我能力不行么。尝试了几次都失败了 :crying_cat_face: 。

还是禅师强哈 :+1:

5年前 评论

厉害的禅师!

5年前 评论
medz

@Summer 哈哈~懂了,禅师确实强,只是因为没说因果随意不是很白。

5年前 评论
medz

@扣丁禅师 哈哈,那段时间我们也一样,阿里云的垃圾小水管,只能用国内镜像,那段时间服务器更新包简直崩溃。?厉害了我的禅师,多一个方案总归保险。

5年前 评论

厉害的禅师:+1:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害了我的禅师

5年前 评论

@zyxcba 加3个vvv, composer -vvv require 可以看是否访问 laravel-china 的域名,常见问题 看下,确定是否镜像生效

5年前 评论

厉害了禅师!虽然点赞晚了点 :smiley:

5年前 评论

厉害的禅师:thumbsup:

5年前 评论

厉害的禅师:thumbsup:

5年前 评论

厉害的禅师:thumbsup:

5年前 评论

不是已经有中国镜像了吗?

https://pkg.phpcomposer.com/

5年前 评论
Summer

@岁月神偷 原因已在 #62 楼 讲过。

5年前 评论

这个镜像多久同步一次呀?如果发现了没有同步的包,有没有API可以来同步这个包?就像 cnpm 中的cnpm sync connect 一样。

5年前 评论

@Clarencep 大约5分钟,#50楼有说明。composer 没有类似 cnpm sync这种命令

5年前 评论

厉害的禅师:thumbsup:

5年前 评论

好喜欢的大家的公益心!

5年前 评论
Fjun

厉害的禅师!

5年前 评论

这个必须支持

5年前 评论

@overtrue 超,这个镜像稳定不!?

5年前 评论

@overtrue 被 pkg.phpcomposer.com 坑的直不起腰了

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

今天遇到这个报错!换了镜像源之后报错消失了!!!

file

5年前 评论

@秋风 教程里复制地址,laravel-china 你地址拼写错误

5年前 评论

厉害的禅师!:+1:

5年前 评论

@扣丁禅师 我这段时间都是用的这个镜像源!一直没有出错,是昨天突然报错的,我再设置一遍之后就没事了!应该是我自己的原因!谢谢啦!!!

5年前 评论
Summer

大家遇到问题请在这里贴出来,也算是为这个镜像做贡献。

禅师一直在很努力的在做维护工作,最近几天机房线路出了点问题,有些许不稳定,他已经在努,他做这个事情是 没有任何财务回报的 ,大家的鼓励是他的驱动力。这里也请大家语气尊重点,对于那些出言不善的同学,我会选择毫不犹豫地禁言。

5年前 评论

运行 composer global require "laravel/installer" 后,报错如下:
The contents of https://packagist.laravel-china.org/p/prov...
3321db2f3327dc857944ea2f70952d1df95221385b028f14dba6f53d4b1.json do not mat
ch its signature. This should indicate a man-in-the-middle attack. Try runn
ing composer again and report this if you think it is a mistake.

5年前 评论

当前环境 composer 1.4.2 , php 7.1.4 , MacOS Sierra 10.12.4

5年前 评论

@Remember2015 @linhaijian ,已经解决,你们现在看下。这个问题主要是数据不完整,提示签名不匹配。最近又拍云不知何故,速度很慢,不管上传还是下载,以前速度都很正常。

这个慢只是CDN节点去云存储 第一次缓存数据时引起的,而且测试有些宽带速度还可以,CDN节点是根据你的线路,就近选取服务器。·如果你发现composer -vvv 安装卡在某一个文件了,欢迎反馈给我·,请注明您的宽带运营商(电信,联通,长城,鹏博士...) 和所在城市地区。

5年前 评论
沈益飞

必须点赞:+1:

5年前 评论

2017.5.22 更新进展:

目前问题已经解决,是机房线路问题,在路由过程中有丢包。如果其他网友仍有我说的卡顿问题,欢迎继续反馈,我们会推进你们当地的宽带运营商协助解决。

另外有个小提示,选用的DNS也会影响路由的线路,最好只用当地运营提供的(一般拨号,默认的就行,不用手动),另外可以试试指定 114.114.114.114

5年前 评论

我们对此次卡顿问题给 Composer 镜像的用户造成的困扰表示抱歉。

经确认,此次卡顿问题是部分用户的本地运营商出现链路丢包问题,现我们已于今早联系当地机房并反馈运营商进行协助处理。

之后如遇类似问题,大家可以联系当地的带宽运营商或者尝试更换DNS,当然也欢迎能及时反馈给我们,又拍云将全力配合 Composer 用户一起解决问题。

最后感谢禅师对问题的持续协助和帮助:)

5年前 评论
chongyi

这个项目是用 PHP 原生写的还是基于框架呢?我也写了个私有的 Composer 镜像用于公司内部。

5年前 评论

@chongyi 这个都可以吧,用框架的意义也不大。不过我是用 laravel 写的了,哈哈,支持 laravel 一下。

5年前 评论
chongyi

@扣丁禅师 我也是基于 Laravel 写的 :joy:

5年前 评论
chongyi

@扣丁禅师 不过我这个对性能要求就没那么多了,实现也就相对简单太多了。同步频率基本是半个月一次。

5年前 评论
Curry

厉害的禅师!

5年前 评论

厉害的禅师!:+1:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
王老板的前端

厉害的禅师!:thumbsup:

5年前 评论

@JimChen 我这边正常的,找了几个服务器访问也正常。
用下面命令,把输出贴下,或私信给我:

  1. php -r "readfile('http://ipv4.icanhazip.com');"
  2. dig packagist.laravel-china.org
5年前 评论

@扣丁禅师 可以了,谢谢,是我自己网络配置问题,我重置几遍网络设置就好了

5年前 评论

@JimChen 不客气,欢迎反馈问题。

5年前 评论

禅师厉害:stuck_out_tongue_closed_eyes:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

自从有了中国 composer 镜像,妈妈再也不用担心我的学习了!

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论
蔺焕然

厉害的禅师!:thumbsup:

5年前 评论

厉害的禅师!:thumbsup:

5年前 评论

国内最近开始全面封闭外网,据说到明年所有VPN都会关。
不知道这个composer镜像是如何同步的,会收影响么?

4年前 评论

话费我宝贵的时间来说句话,我当然是支持的啦!!!!

4年前 评论

@xuanskyer 不用担心,镜像不是VPN技术。

镜像原理是同步官方的元数据(json)和zip包,备份到国内的CDN节点上。只要允许国内都国外存在可连通的线路,这个备份的链路就可以正常工作。

4年前 评论
melodycoder

厉害的禅师!

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论
  • 0时 - 早上7时,这个时间段考虑使用人数不会太频繁,间隔为15分钟
  • 其余时间,间隔为5分钟

新包也是按照这个速度去更新的么!.
如果不是 怎么去 更新 新上的包呢?.

4年前 评论

@aqyuyang 我们实际测试的结果,新包或者最新上传的版本,大概25分钟左右,可以更新到。

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论
[8.1MB/6.10s] Downloading https://packagist.laravel-china.org/p/provider-2013%24e790bdea1483b7019a14ca5dc68ff5cf00e63b020417ecc8692214ee0a085b02.json
[12.8MB/6.62s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2013.json into cache
[12.4MB/6.64s] Reading /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2014.json from cache
[21.4MB/6.67s] Downloading https://packagist.laravel-china.org/p/provider-2015%246c0f49fb99daf468c2a3ff94ef6d6291b49e4a1597d5c67e2ba07d55d8a5f050.json
[38.3MB/11.21s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2015.json into cache
[36.4MB/11.25s] Downloading https://packagist.laravel-china.org/p/provider-2016%24e530318114a9b0acb2b5b3622ab4ccdbbf9c5bac3f164628108c7fc15043fc0e.json
[56.0MB/16.27s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2016.json into cache
[54.2MB/16.30s] Downloading https://packagist.laravel-china.org/p/provider-2016-10%24b5700d05c959684bfaa2d2ddf53d8db63598a7e51d56cbbf7068f3ac10ce54b0.json
[62.2MB/18.41s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2016-10.json into cache
[59.9MB/18.43s] Downloading https://packagist.laravel-china.org/p/provider-2017-01%249358779bce041a7ca63aff8b4d07d42ece48137e71ae3259403d1caed61bb131.json
[70.6MB/21.55s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2017-01.json into cache
[68.4MB/21.58s] Downloading https://packagist.laravel-china.org/p/provider-2017-04%24a38e9b96f73d6a3f76b6a85fbd8dfddbd809500a7645939789142ec25dc4bca1.json
[82.8MB/25.36s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2017-04.json into cache
[80.2MB/25.39s] Downloading https://packagist.laravel-china.org/p/provider-2017-07%24e7ed48567a191e5dbd8ff9e8a4001f00ebf91f0d5ed19906fc046795bbc10730.json
[92.4MB/28.97s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-2017-07.json into cache
[94.0MB/28.98s] Reading /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-archived.json from cache
[93.8MB/29.00s] Downloading https://packagist.laravel-china.org/p/provider-latest%240e355a4e0d90d665d9d76412e9e3e0bbde568367834bb9436e31855976c71fb2.json
[98.5MB/30.44s] Writing /home/kcloze/.cache/composer/repo/https---packagist.laravel-china.org/p-provider-latest.json into cache
[97.5MB/30.46s] Reading /home/kcloze/.cache/composer/repo/https---packagist.org/p-provider-2013.json from cache
[101.9MB/30.47s] Reading /home/kcloze/.cache/composer/repo/https---packagist.org/p-provider-2014.json from cache
[111.0MB/30.51s] Downloading http://packagist.org/p/provider-2015%247478a33646acfd30bbc691a842224e14dcc2efe66ee3dfac6432de90c9218550.json

部分包每次都要下载, 类似http://packagist.org/p/provider-2015%24 开头的,慢的想砸电脑了。。。

4年前 评论

@kcloze 是的,每次更新,基本都会有新的 provider-* 这种元数据更新。

你最后几个 [111.0MB/30.51s] Downloading http://packagist.org/p/provider-xxx
域名已经跑到官方[packagist.org]去了,是不对的,官方肯定是慢。

删除你代码目录下的 composer.lock,再看看。

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论
  1. 对于404的请求,比如https://packagist.laravel-china.org/packag...,会直接301到本页面,个人觉得404,然后页面上添加链接,会比较合适一点。
  2. 很多包,没有dist数据,比如https://packagist.org/p/apache/thrift.json,就只有source段,没有dist段:
    {
    "name": "apache/thrift",
    "description": "Apache Thrift RPC system",
    "keywords": [],
    "homepage": "http://thrift.apache.org/",
    "version": "0.10.0",
    "source": {
    "type": "git",
    "url": "https://git-wip-us.apache.org/repos/asf/thrift.git",
    "reference": "b2a4d4ae21c789b689dd162deb819665567f481c"
    },
    "dist": null
    }

    这种情况下,还是要clone下的。这个是不是可以在镜像侧给生成一个zip包,放到dist段里面去?

4年前 评论

@RobberPhex 非常感谢你的建议,2个建议都很棒 ?
第一个没问题,404 的提示
第二个,dist 这个,的确有些版本没有,我刚才按规则试了一下,也可以下载到,如:
https://api.github.com/repos/apache/thrift...
暂时可以先按规则去补充,然后可以帮我们跟踪下,还是否有缺失的。自动打包的机制,我再想想,会牵扯一些其他问题。

4年前 评论

@扣丁禅师
关于第二个问题,之所以能够从github上下载,是因为thrift有一个官方的github镜像,但是很多其他的就没有办法处理了.

比如有的是托管在git.oschina.net 上,https://packagist.org/p/liv/aliyun-mqs.jso...
有的是托管在gist上的,比如https://packagist.org/p/1pxsun/console.json
有的是自建gitlab托管,比如https://packagist.org/p/adduc/howl-api.json

这些情况,最优的办法是分策略处理,比如oschina的,我们直接构建下载路径;gist和自建的,构建dist包;大部分是github下载地址,代理下载请求。但如果这样,代码就会很复杂,所以我觉得,对于没有dist字段的包,直接在服务器上构建一个zip包是比较好的做法。

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论

镜像不稳定,改成用 https://pkg.phpcomposer.com/

root@e79ae5da6f5d:/var/www/kfkshb/home# composer config -g repo.packagist composer https://packagist.laravel-china.org
Do not run Composer as root/super user! See https://getcomposer.org/root for details
root@e79ae5da6f5d:/var/www/kfkshb/home#
root@e79ae5da6f5d:/var/www/kfkshb/home# composer update
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Updating dependencies (including require-dev)

  [Composer\Downloader\TransportException]
  The "https://packagist.laravel-china.org/p/provider-2017-04%244ff3b639f8fb25eb24e7b3ec50a842567bdc074e6cabb80672881e9a0df9127d.json" file could not be downloaded (HTTP/1.1 503 Service Tem
  porarily Unavailable)

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] [<packages>]...

root@e79ae5da6f5d:/var/www/kfkshb/home# composer update
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Updating dependencies (including require-dev)

  [Composer\Downloader\TransportException]
  The "https://packagist.laravel-china.org/p/provider-2017-04%244ff3b639f8fb25eb24e7b3ec50a842567bdc074e6cabb80672881e9a0df9127d.json" file could not be downloaded (HTTP/1.1 503 Service Tem
  porarily Unavailable)

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] [<packages>]...

root@e79ae5da6f5d:/var/www/kfkshb/home#
4年前 评论

@扣丁禅师 还是包同步更新的问题,omnipay-alipay 镜像更新的 与 github 上的不符! :smile:

这个包在n天前更新过,但是 镜像上没有更新,你在之前讲过 25分钟左右?

4年前 评论

@aqyuyang 现在看看,上次更新意外停止在2号,今天下午已经全部更新完了。我看了你的最新包是 v2.3.6,可以更新到

4年前 评论

给好人点赞

4年前 评论

厉害的禅师!:thumbsup:

4年前 评论
Aaron

各位大佬,请问下,做镜像的难点在哪里?

4年前 评论

@Aaron 其实没啥难点。
1、稳定性要高,把细节处理好。
2、很多时候第三方云存储线路,或机房线路不稳定,需要排查具体原因。比如第三方 sdk更新,或者他们程序更新,会出问题,要排查出来,反馈给第三放云平台解决。

4年前 评论

@扣丁禅师 又报错了..

  [Composer\Repository\RepositorySecurityException]
  The contents of https://packagist.laravel-china.org/p/illuminate/support%24e383b6a14d7c
  62cdfaa02bc808877cc0465ca491cf4c337ae1a30cf7e5b45f15.json do not match its signature. T
  his could indicate a man-in-the-middle attack or e.g. antivirus software corrupting fil
  es. Try running composer again and report this if you think it is a mistake.
4年前 评论

@jalen 近期重写了镜像爬虫的代码,稳定性未经过全面测试,正好赶上出差在外,没有能及时响应处理问题,给大家造成不便深表歉意。

尤其 @Summer 开发教程用的户,并非教程问题,而是本人镜像出错。刚刚在赶往机场途中在手机上紧急恢复之前稳定版本,再有问题欢迎反馈

4年前 评论

镜像好像失效了,提示如下错误:
[Composer\Repository\RepositorySecurityException]
The contents of https://packagist.laravel-china.org/p/prov... do not match its signature. This could indicate a man-in-the-middle attack or e.g. antivirus software corrupting files. Try r
unning composer again and report this if you think it is a mistake.

4年前 评论

@HectorChan thank you. 已经修复。

4年前 评论

@扣丁禅师 修复了,但是我刚刚手贱把~/.composer 目录删掉了,然后里面有Homestead的配置,我突然忘记怎么弄了,重新安装Homestead 4.0.5版本以后,不可以在终端输入homestead --version查看版本和启动虚拟机了,忘记是需要多少版本的symfony/console了。

4年前 评论
半醒的狐狸

厉害的禅师!:thumbsup:

4年前 评论

镜像是不是又出问题了?

4年前 评论

报错了
[Composer\Downloader\TransportException]
The "https://packagist.laravel-china.org/p/symf...
dedab364de6b2a23c.json" file could not be downloaded (HTTP/1.1 404 Not Found)

4年前 评论

@moore0903 使用什么命令加载的?

4年前 评论

@扣丁禅师 :smile:早上试了一下,好了

4年前 评论
dashuang

报错了

  • 命令 composer update -vvv
  • 错误:
    [Composer\Downloader\TransportException]
    The "https://packagist.laravel-china.org/p/symfony/debug%24b7c8fb9f31c30c
    78259077d12c0c493110bc25cc39fcf4f93dc3ba07f6798a7a.json" file could not b
    e downloaded (HTTP/1.1 404 Not Found)
4年前 评论

@dashuang 谢谢反馈,已经修复。

4年前 评论

大佬,我想咨询下,我也想弄一个这个镜像,但是不知道怎么弄,难道你们是自己写的爬虫去同步的吗?

3年前 评论

@KevinYang 你好,这个不是我们的镜像。我最近也刚对我们所有json,和zip做过校验 和清理。2T多的zip 清理到 900多G,json文件目前是2小时就是清理一次,不会down机或暂停我们的服务。

3年前 评论

@扣丁禅师 这个如何解决?这几天一直这样。

file

file

3年前 评论
Summer

@Johnson16 你用的不是社区的镜像,第一张图显示的是配置了对了,但是第二张图显示的下载路径不对。

检查一下 composer.lock 文件,搜索 phpcomposer.com ,如果是的话,运行 composer validate 看看红色那一行的指引。

3年前 评论

@Summer 非常感谢,已经解决好了 :clap:

3年前 评论

搭建仓库的代码有开源吗 :kissing_heart:@Summer @扣丁禅师

3年前 评论

@扣丁禅师 镜像站下载量的数据会同步到官方镜像中的数据里吗?

3年前 评论

@jxlwqq 不会的,composer search 和 统计量,都是指向到官方。

3年前 评论
sushengbuhuo

好壮观

file

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师! :+1:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师! :+1:

3年前 评论

@ecareyu 我开源了一个爬虫

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师! :thumbsup:

3年前 评论

报错了。

composer install
Loading composer repositories with package information

The "https://packagist.laravel-china.org/packag..." file could not be downloaded: failed to open stream: Operation timed out
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troub... for more info

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

刚composer更新报错,@Summer

The "https://packagist.laravel-china.org/packages.json" file could not be downloaded: failed to open stream: Connection timed out
https://packagist.laravel-china.org could not be fully loaded, package information was loaded from the local cache and may be out of date
3年前 评论

@kevensuu 出问题时,可以按下面方式排除:

1、Connection timed out 这种可以先看你的上网环境是否正常
2、有没有开启科学上网线路
3、检查你的dns,最好使用阿里dns 或者 114.114.114.114
4、使用公网的服务 curl命令 或者 浏览器直接访问 https://packagist.laravel-china.org/packag... ,或者请其他 朋友访问下(就是先排除自身网络问题),如果不正常再反馈给我。

类似你贴的这种错误,除非是能复现(我每次测试都正常),否则真的无法帮到你

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

厉害的禅师!:thumbsup:

3年前 评论

@扣丁禅师 请教一个问题:项目使用了 Laravel China 提供的中国镜像服务进行开发,然后 composer.lock 就是镜像的网址了。但是部署到服务器的时候,因为会涉及到全球多个服务器,部分地区访问这个镜像很慢,甚至 failed。请问这个问题可以怎么解决呢?谢谢大师!

3年前 评论

@chanjsq 目前镜像只针对国内加速了。
国外没必要镜像了,直接使用官方的的就好,删除掉配置,默认就是使用官方。
composer.lock 会缓存服务器的信息,可以用 composer update nothing 更新下

3年前 评论

点击文章中最后这个logo 放大和缩小的同时 打开了外链 点一次开一个。。。

3年前 评论

厉害的禅师,现在国内唯一可用的composer镜像

3年前 评论

超快。好顶赞。

3年前 评论
Infinity (作者) 2年前

厉害的禅师,现在国内唯一可用的composer中国镜像!!! :speak_no_evil:

3年前 评论

创建项目时 发生 file_put_contents(/home/vagrant/.composer/cache/repo/https---packagist.laravel-china.org/provider-laravel$framework.json): failed to open stream: Permission denied
https://packagist.laravel-china.org could not be fully loaded, package information was loaded from the local cache and may be out of date

3年前 评论

@monanxiao 这个错误是提示文件无写入权限。sudo rm -rf home/vagrant/.composer/cache ,再重新执行。注意执行用户对目录是否有写入权限

3年前 评论

@扣丁禅师 报错了:Failed, trying the next URL (502: The "https://dl.laravel-china.org/laravel/frame..." file could not be downloaded (HTTP/1.1 502 Bad Gateway))

3年前 评论
  • Installing laravel/framework (v5.8.17): Downloading (failed)
    Downloading (failed)
    Downloading (failed)
    Failed, trying the next URL (502: The "https://dl.laravel-china.org/laravel/frame..." file could not be downloaded (HTTP/1.1 502 Bad Gateway))Loading from cache
3年前 评论

@chanjsq 我这边给第三方提下工单,有些文件上传失败

3年前 评论

@litongleo @chanjsq 已经解决。感谢反馈。

官方给查看 是因为同一文件,上传多次,但这不是composer层的逻辑,composer 本身业务逻辑是控制 20s 只能上传一个同名文件

file

所以估计是 upyun/php-sdk 的逻辑引起的,强制 uploadType 为BLOCK
$config->uploadType = 'BLOCK',目前貌似目前运行正常

3年前 评论

炒鸡赞

3年前 评论

为什么我安装laravel 30分钟还没有动静。。。。。

3年前 评论

hi 在哪里能看到这个最后一次的同步时间,现在好像很久没有同步了

3年前 评论
扣丁禅师 (楼主) 3年前
5555 (作者) 3年前

大佬,今天使用了镜像,但是需要我输入账号和密码,这是啥情况

file

3年前 评论

镜像出问题了
Authentication required (packagist.laravel-china.org):
Username:
Password:
Invalid credentials for 'https://packagist.laravel-china.org/packag...', aborting.
https://packagist.laravel-china.org could not be fully loaded, package information was loaded from the local cache and may be out of date

2年前 评论
笑逐颜凯 2年前
levi 2年前
truncate_xiaoxing123 (作者) 2年前

laravel社区寿终正寝?

2年前 评论
Summer 2年前