分享

Packagist / Composer中国全量镜像

 网络学习天空 2016-06-01
用法:

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

系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中
单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。
修改 composer 的全局配置文件(推荐方式)

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

composer config -g repo.packagist composer http://packagist.
修改当前项目的 composer.json 配置文件:

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是composer.json 文件所在目录),执行如下命令:
composer config repo.packagist composer http://packagist.
上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "http://www.sm136."
    }
}
以 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."
        }
    }
}
OK,一切搞定!试一下 composer install 来体验飞一般的速度吧!

镜像说明:

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

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

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

 

Composer 镜像
通过 Composer 镜像安装 composer

务必确保已经正确安装了 PHP。
局部安装

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

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

curl -sS http://install./installer | php
Windows 系统(Mac 或 Linux 系统也可以使用):请执行如下命令:

php -r "readfile('http://install./installer');" | php
全局安装

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

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

curl -sS http://install./installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Windows 系统:请在命令行中执行如下命令:

mkdir C:\bin
cd C:\bin
php -r "readfile('http://install./installer');" | php
echo @php "%~dp0composer.phar" %*>composer.bat
上述命令执行成功之后再将 C:\bin 路径加入 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 一直是最新版本哦!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多