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

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

关于作者

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

镜像的作用?

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

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

全量镜像所做的就是缓存所有安装包和元数据到 Linode 服务器上,并通过国内的 CDN 进行加速,从而让 composer install 以及 composer update 的操作达到最快速度。所以即使是 packagist.org, http://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 缓存了之前的配置信息,从而导致新的镜像配置无效。

  1. 使用 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,地址:https://dl.laravel-china.org/...

  2. 把下载的 composer.phar 放到 PHP 安装目录

  3. 新建 composer.bat, 添加如下内容,并保存:

@php "%~dp0composer.phar" %*

查看当前版本

$ composer -V

升级版本

$ composer selfupdate

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

致谢

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

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

社区讨论:https://laravel-china.org/com...

你可能感兴趣的:(php,composer,php框架,laravel,packagist.org)