目录
1. 前言
2. 安装
2.1 方法一:安装包安装
2.2 方法二:命令行安装(推荐)
2.2.1第一步:确认PHP版本号
2.2.2第二步:执行安装命令
2.2.3第三步:使用composer
3. 使用国内镜像
3.1方法一: 修改 composer 的全局配置文件
3.2方法二: 修改当前项目的 composer.json 配置文件
4. composer的命令使用
4.1安装命令
4.2更新命令
4.3移除命令
4.4查询命令
5. composer的基本约束
6. 总结
1.前言
Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。
在之前写过篇文章《Composer的安装和Packagist的使用》,详细的说明了如何将github项目上传到Packagist商店、如何使用钩子自动更新维护以及如何下载软件包,而这里将为大家详述compsoer进一步的使用情况。
2.安装
首先,我们需要知道Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。
Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl。
Composer 可运行在 Windows 、 Linux 以及 OSX 平台上。
2.1 方法一:安装包安装
你可以通过该链接安装 Composer-Setup.exe安装包,需要注意的是composer需要开启PHP的 openssl 配置,在 php 目录下的 php.ini,将 extension=php_openssl.dll加上即可,安装完成后,可以在命令行窗口输入 composer --version 命令来查看是否安装成功与否。
2.2 方法二:命令行安装(推荐)
通过方法一安装,由于墙的原因,会导致我们经常安装失败,那么,官方还提供了一种方法,就是在php命令窗下安装composer
2.2.1第一步:确认PHP版本号
安装前打开命令行窗口并执行 php -v 查看是否正确输出版本号,以确保PHP已经安装。
2.2.2第二步:执行安装命令
//下载安装脚本到当前目录
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
//执行安装过程。
php composer-setup.php
//删除安装脚本。
php -r "unlink('composer-setup.php');"
2.2.3第三步:使用composer
使用composer又分为全局安装使用和局部安装使用
1)局部安装
下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用 Composer
2)全局安装
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令
3)Windows 系统
找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。
将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。
在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer --version 看看是否正确输出版本号。
4)Mac 或 Linux 系统
打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:
sudo mv composer.phar /usr/local/bin/composer
2.2.4第四步:更新composer
执行composer selfupdate命令,就能够保证composer是最新版本
3.使用国内镜像
更换镜像的方法有如下两种:
3.1方法一: 修改 composer 的全局配置文件
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composerhttps://packagist.phpcomposer.com
3.2方法二: 修改当前项目的 composer.json 配置文件
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:
composer config repo.packagist composerhttps://packagist.phpcomposer.com
上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(所以你也可以自己手工添加):
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
完成以上步骤,就能够实现较快的composer下载体验。
4.composer的命令使用
4.1安装命令
//运行即可安装依赖包
composer install
//require 命令快速的安装一个依赖composer require monolog/monolog
4.2更新命令
//update 命令更新项目里所有的包
composer update
//更新指定的包
composer update monolog/monolog
//更新指定的多个包
composer update monolog/monolog symfony/dependency-injection
//更新通过通配符匹配的包
composer update monolog/monolog symfony/*
4.3移除命令
//remove 命令用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除
composer remove monolog/monolog
4.4查询命令
//search 命令可以搜索包:
composer search monolog
//上面命令会输出包及其描述信息,如果只想输出包名可以使用 --only-name 参数
composer search --only-name monolog
//show 命令可以列出当前项目使用到包的信息
//列出所有已经安装的包
composer show
//可以通过通配符进行筛选
composer show monolog/*
//显示具体某个包的信息
composer show monolog/monolog
5.composer的基本约束
我们可以告诉 Composer 安装的具体版本,例如:指定 1.0.2 版本。
5.1版本范围
通过使用比较操作符来指定包的范围。这些操作符包括:>,>=,
你可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。
实例:
>=1.0
>=1.0 <2.0
>=1.0 <1.1 || >=1.2
我们也可以通过使用连字符 - 来指定版本范围。
连字符的左边表明了 >= 的版本,如果右边的版本不是完整的版本号,则会被使用通配符进行补全。例如:
1.0 - 2.0 等同于 >=1.0.0 <2.1(2.0相当于2.0.*)
1.0.0 - 2.1.0 等同于 >=1.0.0 <=2.1.0。
5.2通配符
可以使用通配符来设置版本。
例子:1.0.* 等同于 >=1.0 <1.1。
5.3波浪号 ~
~1.2 等同于 >=1.2 <2.0.0
~1.2.3 等同于 >=1.2.3 <1.3.0
5.4折音号 ^
^1.2.3 等同于 >=1.2.3 <2.0.0
^0.3 等同于 >=0.3.0 <0.4.0
因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,采取例如对待。
6.总结
希望通过这篇文章,能够加深对composer的正确安装使用和正确操作依赖包。