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

禅师 微信号zencodex,可以聊(撩)

本帖已被设为精华帖!
本帖由 Summer 于 2年前 取消置顶
讨论数量: 219

超快。好顶赞。

7个月前 评论
Infinity (作者) 3个月前

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

7个月前 评论
monanxiao

创建项目时 发生 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

6个月前 评论

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

6个月前 评论
monanxiao

@扣丁禅师 是的 解决了,谢谢

6个月前 评论

@扣丁禅师 报错了: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))

5个月前 评论
  • 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
5个月前 评论

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

5个月前 评论

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

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

file

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

5个月前 评论
j475523225

炒鸡赞

5个月前 评论

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

5个月前 评论

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

4个月前 评论
扣丁禅师 (楼主) 4个月前
5555 (作者) 4个月前

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

file

4个月前 评论

镜像出问题了
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

3个月前 评论
笑逐颜凯 3个月前
levi 3个月前
truncate_xiaoxing123 (作者) 3个月前

laravel社区寿终正寝?

2个月前 评论
Summer 2个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档: