Composer 中文镜像 / Packagist 中国全量镜像正式发布!
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
composer -vvv create-project laravel/laravel --prefer-dist wangzhan "5.5.*" 如果自己解决不了,或发现 BUG,可以在 [@扣丁禅师](https://learnku.com/users/12063) 的 GitHub 上 创建 Issue。
注意提问时请带上 -vvv 的输出,并且要求叙述清晰,第一次提问的同学请阅读 关于提问的智慧。
常见问题
已存在 composer.lock 文件,先删除,再运行
composer install
重新生成。原因:composer.lock 缓存了之前的配置信息,从而导致新的镜像配置无效。
使用
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
。
缓存多久更新一次?
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:
直接下载 composer.phar,地址:https://dl.laravel-china.org/composer.phar
把下载的 composer.phar 放到 PHP 安装目录
新建 composer.bat, 添加如下内容,并保存:
@php "%~dp0composer.phar" %*
查看当前版本
$ composer -V
升级版本
$ composer selfupdate
注意
selfupdate
升级命令会连接官方服务器,速度很慢。建议直接下载我们的composer.phar
镜像,每天都会更新到最新。
致谢
Composer 中国全量镜像的 CDN 由国内领先 CDN 服务商「又拍云」提供,相信这次联合合作能给 Composer 镜像提供稳定、快速的 CDN 支持。
另外也在此特别感谢「优帆远扬」在项目开发中提供的技术支持。
禅师 微信号 zencodex,可以聊 (撩)
推荐文章: