php Composer简介
简单来说,Composer 是一个新的安装包管理工具,服务于 PHP 生态系统。它实际上包含了两个部分:Composer 和 Packagist。下面我们就简单说一下他们各自的用途。
Composer
Composer 是由 Jordi Boggiano 和 Nils Aderman 创造的一个命令行工具,它的使命就是帮你为项目自动安装所依赖的开发包。Composer 中的很多理念都借鉴自 npm 和 Bundler,如果你对这两个工具有所了解的话,就会在 composer 中发现他们的身影。Composer 包含了一个依赖解析器,用来处理开发包之间复杂的依赖关系;另外,它还包含了下载器、安装器等有趣的东西。
作为一个用户,你所要做的就是在 composer.json
文件中声明当前项目所依赖的开发包,然后运行 composer.phar install
就行了。composer.json
文件定义了当前项目所依赖的开发包和 composer 的配置信息。下面是一个小型实例:
{
"require": {
"monolog/monolog": "1.2.*"
}
}
Packagist
Packagist 是 Composer 的默认的开发包仓库。你可以将自己的安装包提交到 packagist,将来你在自己的 VCS (源码管理软件,比如 Github)仓库中新建了 tag 或更新了代码,packagist 都会自动构建一个新的开发包。这就是 packagist 目前的运作方式,将来 packagist 将允许直接上传开发包。
对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少:
- 依赖处理容易出问题
- 配置非常复杂
- 难用的命令行接口
好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。
如何安装 Composer
下载 Composer
安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行
php -v
查看是否正确输出版本号。
打开命令行并依次执行下列命令安装最新版本的 Composer:
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
执行第一条命令下载下来的 composer-setup.php
脚本将简单地检测 php.ini
中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar
文件到当前目录。
上述 3 条命令的作用依次是:
- 下载安装脚本 -
composer-setup.php
- 到当前目录。 - 执行安装过程。
- 删除安装脚本。
局部安装
上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar
文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar
指令即可使用 Composer 了!
全局安装
全局安装是将 Composer 安装到系统环境变量 PATH
所包含的路径下面,然后就能够在命令行窗口中直接执行 composer
命令了。
Mac 或 Linux 系统:
打开命令行窗口并执行如下命令将前面下载的 composer.phar
文件移动到 /usr/local/bin/
目录下面:
复制
sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
- 找到并进入 PHP 的安装目录(和你在命令行中执行的
php
指令应该是同一套 PHP)。 - 将
composer.phar
复制到 PHP 的安装目录下面,也就是和php.exe
在同一级目录。 - 在 PHP 安装目录下新建一个
composer.bat
文件,并将下列代码保存到此文件中。
复制
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer --version
看看是否正确输出版本号。
最后
提示:不要忘了经常执行
composer selfupdate
以保持 Composer 一直是最新版本哦!
关于升级 Composer
Composer 升级时是无法利用我们的镜像加速下载的,而必须连接到 Composer 国外官网的服务器上下载升级文件,某些时候就会导致升级的速度非常慢甚至失败。
这里提供一个简单的办法:
如果你的系统中已经有可以正常使用的 Composer 了,说明系统环境是符合要求的,那么只需要下载新的 Composer 文件并覆盖原来的文件即可。
首先你要确定现有的 Composer 的安装目录,然后通过下面的链接下载 composer.phar
文件(复制以下地址到浏览器地址栏可直接下载),
复制
https://install.phpcomposer.com/composer.phar
将前面下载的 composer.phar
文件覆盖系统中已经安装的 composer.phar
文件即可。注意,有可能在安装时将 composer.phar
改名为 composer
了,注意用同样的名字覆盖即可。
php Composer安装thinkphp
php composer.phar require topthink/think tp
参考资料