开发者资讯

 首页 > 开发者资讯 > 编程开发 > Packagist / Composer中国全量镜像Packagist 镜像Composer 镜像

Packagist / Composer中国全量镜像Packagist 镜像Composer 镜像

分享到:
【字体:
导读:
         [导读] 然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。 “Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速还没安装 composer 吗?请往下看如何安装 composer 。务必确保已经正确安装了 PHP。提示:不要忘了经常执行 composer selfupdate 以保持 composer 一直是最新版本哦!

Packagist 镜像

还没安装 composer 吗?请往下看如何安装 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:bin
cd C:bin
php -r "readfile('http://install.phpcomposer.com/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 一直是最新版本哦!

分享到:
一致性hash算法在内存数据库中的应用
       由于redis是单点,但是项目中不可避免的会使用多台Redis缓存服务器,那么怎么把缓存的Key均匀的映射到多台Redis服务器上,且随着缓存服务器的增加或减少时做到最小化的减少缓存Key的命中率呢?这样就需要我们自己实现分布式。      Memcached对大家应该不陌生,通过把Key映射到Memcached Server上,实现快速...
Laravel 5.2 值得关注的新特性
中间件组(Middleware Groups) 中间件组也许是你最希望得到的新特性,这一特性允许你为路由(route)设置一组中间件: 支持 MySQL 的 JSON 字段类型 MySQL 5.7.8 新增了原生 JSON 字段类型。Laravel 5.2 也能够支持这种原生的 JSON 字段类型了。 表单数组校验(Form Array Validation) 假如你创建了一个表单,里...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……