zoukankan      html  css  js  c++  java
  • composer很慢修改镜像

    有两种方式启用本镜像服务:

    • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“例1”
    • 单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。见“例2”

    例1:修改 composer 的全局配置文件(推荐方式)

    打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

    composer config -g repo.packagist composer http://packagist.phpcomposer.com
    

    例2:修改当前项目的 composer.json 配置文件:

    打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是composer.json 文件所在目录),执行如下命令:

    composer config repo.packagist composer http://packagist.phpcomposer.com
    

    上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):

    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "http://packagist.phpcomposer.com"
        }
    }
    

    以 laravel 项目的 composer.json 配置文件为例,执行上述命令后如下所示(注意最后几行):

    {
        "name": "laravel/laravel",
        "description": "The Laravel Framework.",
        "keywords": ["framework", "laravel"],
        "license": "MIT",
        "type": "project",
        "require": {
            "php": ">=5.5.9",
            "laravel/framework": "5.2.*"
        },
        "require-dev": {
            "fzaninotto/faker": "~1.4",
            "mockery/mockery": "0.9.*",
            "phpunit/phpunit": "~4.0",
            "symfony/css-selector": "2.8.*|3.0.*",
            "symfony/dom-crawler": "2.8.*|3.0.*"
        },
        "autoload": {
            "classmap": [
                "database"
            ],
            "psr-4": {
                "App\": "app/"
            }
        },
        "autoload-dev": {
            "classmap": [
                "tests/TestCase.php"
            ]
        },
        "scripts": {
            "post-root-package-install": [
                "php -r "copy('.env.example', '.env');""
            ],
            "post-create-project-cmd": [
                "php artisan key:generate"
            ],
            "post-install-cmd": [
                "php artisan clear-compiled",
                "php artisan optimize"
            ],
            "pre-update-cmd": [
                "php artisan clear-compiled"
            ],
            "post-update-cmd": [
                "php artisan optimize"
            ]
        },
        "config": {
            "preferred-install": "dist"
        },
        "repositories": {
            "packagist": {
                "type": "composer",
                "url": "http://packagist.phpcomposer.com"
            }
        }
    }
    

    OK,一切搞定!试一下 composer install 来体验飞一般的速度吧!

    镜像说明:

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

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

    “Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速 composer install 以及 composer update 的过程,并且更加快速、稳定。因此,即使 packagist.orggithub.com 发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。

    Composer 镜像

    通过 Composer 镜像安装 composer

    务必确保已经正确安装了 PHP

    局部安装

    局部安装是将 composer 安装到当前目录下面(比如安装到项目根目录下),然后就可以通过 php composer.phar 来使用 composer 了。

    Mac 或 Linux 系统:打开命令行窗口并执行如下命令:

    curl -sS http://install.phpcomposer.com/installer | php
    

    Windows 系统(Mac 或 Linux 系统也可以使用):请执行如下命令:

    php -r "readfile('http://install.phpcomposer.com/installer');" | php
    

    全局安装

    全局安装是将 composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。

    Mac 或 Linux 系统:打开命令行窗口并执行如下命令:

    curl -sS http://install.phpcomposer.com/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
    

    Windows 系统:请在命令行中执行如下命令:

    mkdir C:in
    cd C:in
    php -r "readfile('http://install.phpcomposer.com/installer');" | php
    echo @php "%~dp0composer.phar" %*>composer.bat
    

    上述命令执行成功之后再将 C:in 路径加入 PATH 环境变量即可。最后重新打开一个命令行窗口试一试执行 composer --version 看看是否正确输出版本号,例如:。

    Composer version 1.0-dev (72cd6afdfce16f36a9fd786bc1b2f32b851e764f) 2015-12-28 17:35:19
    

    镜像说明

    通过官方途径安装 composer 时,默认是通过 https 协议从 getcomposer.org 网站下载 composer.phar 文件,但是由于众所周知的原因,安装过程很痛苦。

    “Composer 中国镜像”是在 composer 源码的基础上重新编译 composer.phar 文件,并通过国内的 CDN 对下载进行加速。另外,为了保证使用最新版本的 composer ,开发者需要经常执行 composer selfupdate命令来更新 composer,所以,我们将 composer 的更新源也替换成了本镜像,这样就能让整个 composer 的使用过程更舒心了!

    提示:不要忘了经常执行 composer selfupdate 以保持 composer 一直是最新版本哦!

  • 相关阅读:
    树链剖分学习笔记
    [bzoj4445] [SCOI2015]小凸想跑步 (半平面交)
    上下界网络流学习笔记
    LocalMaxima_NOI导刊2009提高(1)(欧拉-马斯刻若尼常数)
    公告
    构造函数
    矩阵线段树
    [SCOI2005]互不侵犯
    牛客网NOIP赛前集训营-提高组(第四场)B区间
    noip提高组模拟赛(QBXT)T2
  • 原文地址:https://www.cnblogs.com/youxin/p/5178567.html
Copyright © 2011-2022 走看看