安装Composer
Linux/Mac:
wget
https://getcomposer.org/composer.phar
-O /usr/local/bin/composer
chmod a+x
/usr/
local
/bin/
composer
若权限不足,添加
sudo
执行
Windows
:
直接下载 composer.phar,地址:
https://getcomposer.org/composer.phar
把下载的 composer.phar 放到 PHP 安装目录
新建 composer.bat, 添加如下内容,并保存:
@php "%~dp0composer.phar" %*
查看当前版本
composer -V
升级版本
composer selfupdate
注:
selfupdate
升级命令会连接官方服务器,速度很慢。建议直接下载我们的
composer.phar
镜像,每天都会更新到最新。
配置国内镜像源配置
有两种方式配置国内镜像服务:
- 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“方法一”
- 单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。见“方法二”
方法一
:
修改 composer 的全局配置文件
(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer
https://packagist.phpcomposer.com
composer config -g repos.packagist composer https://php.cnpkg.org
composer config -g repo.packagist composer
https://mirrors.aliyun.com/composer/
composer config -g repos.packagist composer
https://packagist.mirrors.sjtug.sjtu.edu.cn
composer config -g repo.packagist composer
https://mirrors.cloud.tencent.com/composer/
方法二
:
修改当前项目的 composer.json 配置文件:
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:
上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):
"repositories": { "packagist": { "type": "composer", "url": "
https://mirrors.aliyun.com/composer/
" } }
以 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.*" }, "config": { "preferred-install": "dist" }, "repositories": { "packagist": { "type": "composer", "url": "
https://mirrors.aliyun.com/composer/
" } } }
OK,一切搞定!composer install -vvv 体验飞一般的速度吧!
镜像原理:
一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com 上下载的,安装包的元数据是从 packagist.org 上下载的。
然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。
“Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速 composer install以及 composer update 的过程,并且更加快速、稳定。因此,即使 packagist.org、github.com 发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
遇到问题
composer
命令后面加上 -vvv (是3个v)可以打印出调错信息,命令如下:
$ composer -vvv create-project laravel/laravel blog $ composer -vvv require psr/log
常见问题
1、已存在 composer.lock 文件,先删除,再运行
composer install
重新生成。
原因:composer.lock 缓存了之前的配置信息,从而导致新的镜像配置无效。
方法一(推荐):
不使用
laravel new
,直接用
composer create-project laravel/laravel xxx
新建工程。
方法二:
运行
laravel new xxx
,当看见屏幕出现 - Installing doctrine/inflector 时,
Ctrl + C
终止命令,cd xxx 进入,删除 composer.lock,再运行
composer install