• Composer 中文镜像 Lavavel-china 公益项目


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

     

    镜像的由来?

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

     

    维持多久?

    我个人会尽最大努力来持续维护这个镜像。另外,因为是以 Laravel China 社区的名义发起的项目,用 Summer 的话来说:

    只要 Learnku.com 还活着,这个项目就会一直持续下去。

    所以,大家可以放心使用,而且从来都不是我一个人在战斗,我的背后是一支卓越的团队在给予各方面支持。

     

    如何使用?

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

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

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

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

    选项二、单独使用

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

    取消镜像

     

    遇到问题?

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

    如果自己解决不了,或发现 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
    3. 缓存多久更新一次?
      • 0时 - 早上7时,这个时间段考虑使用人数不会太频繁,间隔为15分钟
      • 其余时间,间隔为5分钟

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

     

    安装 Composer

     

    Linux/Mac:

    如遇权限不足,可添加 sudo

     

    Windows:

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

    查看当前版本

     

    升级版本

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

     

    致谢

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

    file
     

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

    file
     

    扣丁禅师 :行住坐卧悟禅宗,禅堂禅师禅Coding

    本帖已被设为精华帖!
  • 相关阅读:
    HTTP协议详解(转)
    Linux shell 提取文件名和目录名的一些方法(转)
    快速建立ssh互信(转)
    Python 连接mysql
    pt-online-schema-change原理解析(转)
    python基础学习笔记3
    python基础学习笔记2
    DNS服务器原理
    代理服务器(Proxy)原理
    Ext.MessageBox消息框
  • 原文地址:https://www.cnblogs.com/mouseleo/p/10652483.html
Copyright © 2020-2023  润新知