您的位置:首页 > 其它

Packagist / Composer 中国全量镜像

2016-03-15 09:42 621 查看


Packagist 镜像

请各位使用本镜像的同学注意:
本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将 
http://packagist.phpcomposer.com
 修改为 
https://packagist.phpcomposer.com


还没安装 composer 吗?请往下看如何安装 composer 。


用法:

有两种方式启用本镜像服务:
系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 
config.json
 中。见“例1”
单个项目配置: 将配置信息添加到某个项目的 
composer.json
 文件中。见“例2”

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

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com


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

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


上述命令将会在当前项目中的 
composer.json
 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):
"repositories": {
"packagist": {
"type": "composer",
"url": "https://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": "https://packagist.phpcomposer.com" } }}


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


镜像说明:

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

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

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


如何安装 composer

安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 
php
-v
 查看是否正确输出版本号。

打开命令行并执行下列命令安装最新版本的 Composer (以下指令摘自 https://getcomposer.org/download/,请前往查看最新的安装指令):
php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php

php -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === '41e71d86b40f28e771d4bb662b997f79625196afcca95a5abf44391188c695c6c1456e16154c75a211d238cc3bc5cb47') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); }"

php composer-setup.php

php -r "unlink('composer-setup.php');"


执行第一条命令下载下来的 
composer-setup.php
 脚本将简单的检测 
php.ini
 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 
composer.phar
 文件到当前目录。

上述 4 条命令的作用依次是:
下载安装脚本(
composer-setup.php
)到当前目录。
检查安装脚本的 
SHA-384
 指纹,以防安装脚本被篡改。
执行安装过程。
删除安装脚本 -- 
composer-setup.php
 。


局部安装

上述下载 Composer 的过程正确执行完毕后,可以将 
composer.phar
 文件复制到任意目录(比如项目根目录下),然后通过 
php
composer.phar
 指令即可使用 Composer 了!


全局安装

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

Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 
composer.phar
 文件移动到
/usr/local/bin/
 目录下面:
sudo mv composer.phar /usr/local/bin/composer


Windows 系统:请在命令行中执行如下命令:
mkdir C:\bin
mv composer.phar c:\bin
cd C:\bin
echo @php "%~dp0composer.phar" %*>composer.bat


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


最后

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

本文转载自: http://pkg.phpcomposer.com/#how-to-install-composer
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  composer