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.国内的镜像资源