composer中文站:http://www.phpcomposer.com/
如何安装 Composer
下载 Composer:安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 PHP -v 查看是否正确输出版本号。
打开命令行并依次执行下列命令安装最新版本的 Composer:
下载安装脚本composer-setup.PHP到当前目录(这条命令执行会有点慢,耐心等待):
#PHP-r"copy('https://getcomposer.org/installer','composer-setup.PHP');"
执行安装过程:
#PHPcomposer-setup.PHP
删除安装脚本:
#PHP-r"unlink('composer-setup.PHP');"
局部安装:
上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 PHP composer.phar 指令即可使用 Composer 了!如查看composer版本:
#PHPcomposer.phar-v
全局安装:
#cpcomposer.phar/usr/local/bin/composer
查看composer版本,任意位置执行:
#composer-v
不要忘了经常执行 composer selfupdate
以保持 Composer 一直是最新版本:
#composerselfupdate
composer使用Packagist全量镜像使用方法:
系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“方法一”
单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。见“方法二”
方法一: 修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composerconfig-grepo.packagistcomposerhttps://packagist.PHPcomposer.com
方法二: 修改当前项目的 composer.json 配置文件
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json
文件所在目录),执行如下命令:
composerconfigrepo.packagistcomposerhttps://packagist.PHPcomposer.com
上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):
"repositories":{ "packagist":{ "type":"composer","url":"https://packagist.PHPcomposer.com" } }
以 laravel 项目的 composer.json
配置文件为例,执行上述命令后如下所示(注意最后几行):
{ "name":"laravel/laravel","description":"TheLaravelFramework.","keywords":["framework","laravel"],"license":"MIT","type":"project","require":{ "PHP":">=5.5.9","laravel/framework":"5.2.*" },"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 发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
原文链接:https://www.f2er.com/javaschema/283199.html