Composer 是 PHP5.3 以上 的一个依赖管理工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会安装这些依赖的库文件。它仅仅是一个依赖关系的管理,如同在 iOS开发中 Swift 和 Objective-C 工程中使用的CocoaPods 一样。

安装前需确保系统PHP版本在5.3以上。

下面分别介绍如何在 Mac OS、Linux / CentOS、Windows 下安装 Composer。

Windows 安装 Composer

Windows 下的安装可以直接下载官网的 .exe 直接安装,这是将 Composer 安装在你机器上的最简单的方法。

下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。

官网下载链接如下:
https://getcomposer.org/Composer-Setup.exe


Mac OS 安装 Composer

在终端中执行以下命令下载Composer可执行文件:

curl -sS https://getcomposer.org/installer | php

此操作会下载最新版本到当前的工作目录中。然后在当前路径下就可以操作了,如查看Composer版本:

php composer.phar --version

如果下载失败也不用纠结了,直接去手动下载合适的版本https://getcomposer.org/download/,结果的一样的。

这应该算是局部安装了,当跳出当前目录还是无法正常使用,这肯定不是我们所期望的。如果要想全局生效需把composer.phar移到系统/usr/local/bin/目录下:

mv composer.phar /usr/local/bin/composer

然后在全部就可以使用composer,再也不用每次都输入长长的php composer.phar了。至此算是安装完毕。

//版本更新,如果有则更新到最新版本
composer selfupdate

CentOS 7 安装 Composer

composer 官方下载文档:
https://getcomposer.org/download/

首先 centos 必须安装 php-cli,也就是在命令行下可以运行 php,且 PHP 5.3.2+
php -v
没有安装 php-cli 的,可以执行以下命令进行安装
yum install php-cli php-zip wget unzip

下载 composer-setup.php 文件到当前目录

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

验证安装的脚本是否正确

php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

以下操作分两种操作,可以得到不同的结果:

操作1:
执行安装命令,执行完成后会在当前目录下生成一个 composer.phar 文件

php composer-setup.php

删除当前目录下的 composer-setup.php 安装文件

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

执行以下命令查看 composer 版本

php composer.phar

操作2(推荐):
执行以下命令将 composer 安装到 /usr/local/bin 目录下,并且重命名 composer.phar 文件
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
删除当前目录下的 composer-setup.php 安装文件

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

接下来执行以下命令验证 composer 是否安装成功
composer

总结:
因为操作2 直接将 composer 安装到了 环境变量目录中,而且重命名了文件名称,所以可以在任何地方直接使用命令 composer 进行依赖库的安装。
CentOS 下环境变量目录查看,包含在以下输出目录的为当前系统的环境变量目录 ,composer 可执行文件要给 x 权限,如下图所示
echo $PATH

以下命令为文件添加 x 权限
chmod +x FILE_NAME

Composer 实例

当你的 CentOS 系统安装了 Composer 后,我们就可以使用 Composer 创建 PHP 项目。
下面我会使用 composer 的 carbon 包,创建一个简单的程序用于输出当前时间。
运行以下命令安装 carbon 包
composer require nesbot/carbon
下图表示安装成功:

安装成功后会在当前文件夹下生成 composer.json、composer.lock、vendor 文件夹

  • vendor 文件夹存放了该项目所需的所有依赖代码
  • composer.lock 包含了依赖代码的所有版本信息
  • composer.json 包含了项目的名称

可以在 Packagist 中找到你想要的代码库。
安装完成后创建 test.php 文件


require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

执行
php test.php
输出:

如果后面想更新代码库,可以使用如下命令:
composer update

关于镜像

Composer 在安装或更新的时候可能会很慢或者出现失败的情况,这是由于访问的外部网络可能被墙了。

查看 Composer 配置:

composer config -l -g

可以在 [home] 配置项得到 composer 配置路径,修改config.json文件。

如果 [lock] 为 true,会导致无法正常修改全局配置。

修改镜像,使用国内镜像服务,具体配置方法如下:

1.系统全局配置

即将配置信息添加到 Composer 的全局配置文件 config.json 中。修改composer的全局配置文件,打开命令行并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

2.单个项目配置

即将将配置信息添加到某个项目的 composer.json 文件中。修改当前项目的composer.json配置文件有两种方式,最后都是向文件中添加如下配置信息:

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.phpcomposer.com"
    }
}

2.1 打开命令行并进入项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com

该命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息

2.2 手动向 composer.json 文件中添加以上信息

3.国内的镜像资源

https://blog.thinkphp.cn/1147952