Linux安装 Composer
要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中):
curl -sS https://getcomposer.org/installer | php
全局安装
你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。
你可以执行这些命令让 composer 在你的系统中进行全局调用:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。
注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:
php -r "readfile('https://getcomposer.org/installer');" | php
这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。
使用Laravel镜像:
wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer
chmod a+x /usr/local/bin/composer
局部安装
你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
Windows:
下载安装包安装即可
https://getcomposer.org/download/
查看当前版本
$ composer -V
升级版本
$ composer selfupdate
注意 selfupdate 升级命令会连接官方服务器,速度很慢。建议直接下载我们的 composer.phar 镜像,每天都会更新到最新。
如何使用?
请尽可能用比较新的 Composer 版本。
中国镜像
阿里云:https://mirrors.aliyun.com/composer/index.html
Laravel:https://laravel-china.org/composer
使用 Composer 镜像加速有两种选项:
- 选项一:全局配置,这样所有项目都能惠及(推荐);
- 选项二:单独项目配置;
选项一、全局配置(推荐)
$ composer config -g repo.packagist composer https://packagist.laravel-china.org
$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
取消配置:
composer config -g --unset repos.packagist
选项二、单独使用
如果仅限当前工程使用镜像,去掉 -g 即可,如下:
$ composer config repo.packagist composer https://packagist.laravel-china.org
$ composer config repo.packagist composer https://mirrors.aliyun.com/composer/
取消配置:
composer config --unset repos.packagist
遇到问题?
composer 命令后面加上 -vvv (是3个v)可以打印出调错信息,命令如下:
$ composer -vvv create-project laravel/laravel blog
$ composer -vvv require psr/log
注意提问时请带上 -vvv 的输出,并且要求叙述清晰,第一次提问的同学请阅读 关于提问的智慧。
常见问题
已存在 composer.lock 文件,先删除,再运行 composer install 重新生成。
原因:composer.lock 缓存了之前的配置信息,从而导致新的镜像配置无效。
使用 laravel new 命令创建工程, 这个命令会从 这里 下一个zip包,里面自带了 composer.lock,和上面原因一样,也无法使用镜像加速,解决方法:
方法一(推荐):
不使用 laravel new,直接用 composer create-project laravel/laravel xxx 新建工程。
方法二:
运行 laravel new xxx,当看见屏幕出现 - Installing doctrine/inflector 时,Ctrl + C 终止命令,cd xxx 进入,删除 composer.lock,再运行 composer install。
缓存多久更新一次?
0时 - 早上7时,这个时间段考虑使用人数不会太频繁,间隔为15分钟
其余时间,间隔为5分钟
正常更新速度可在1分内完成 ,但更新太快,会降低CDN命中率,如果总有新文件让CDN去缓存,反而拖慢了速度,所以故意加了些延迟。我们每次采集中还会删减掉数千个僵尸包,以加快传输速度。