Composer / Packagist 中国全量镜像正式发布 - Laravel China 社区

Composer / Packagist 中国全量镜像正式发布 - Laravel China 社区

SummerSummer

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

关于作者

本项目由 @扣丁禅师 独立开发。禅师现居沈阳,远程办公族,热爱编程,向往自由。现任 优帆远扬 远程高级开发工程师、高级架构师。

镜像的作用?#

一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com 上下载,安装包的元数据是从 packagist.org 上下载。

然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被 『墙』 甚至 『不存在”』。

全量镜像所做的就是缓存所有安装包和元数据到 Linode 服务器上,并通过国内的 CDN 进行加速,从而让 composer install 以及 composer update 的操作达到最快速度。所以即使是 packagist.org, github.com 发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。

镜像的由来?#

几个月前,禅师 加入了 优帆远扬 的远程工程师团队。我在了解他的工程背景以后,发现是一牛逼的高手。遂提议一起合作:以 Laravel China 社区的名义来构建一个长久维护、高可用性、快速稳定的 Composer 全量镜像。

禅师很爽快地就答应了。经过禅师一个月的开发和设计,两个多月的内侧,今日终于面世。

维持多久?#

只要 优帆远扬Laravel China 还活着,这个项目就会一直持续下去。

所以,大家可以放心使用。

如何使用?

请尽可能用比较新的 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 命令后面加上 -vvv (是3个v)可以打印出调错信息,命令如下:

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

如果自己解决不了,或发现 BUG,可以在 @扣丁禅师 的 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。

安装 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,地址:dl.laravel-china.org/co
  2. 把下载的 composer.phar 放到 PHP 安装目录
  3. 新建 composer.bat, 添加如下内容,并保存:
@php "%~dp0composer.phar" %*

查看当前版本#

$ composer -V

升级版本#

$ composer selfupdate

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

致谢#


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

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



更多讨论请见 LC 社区:Composer 中国全量镜像正式发布!
文章被以下专栏收录
8 条评论
推荐阅读