🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ### 简介 Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 ### 系统要求 运行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。 我们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你载入的包所使用的版本管理系统。 Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。 ### 安装 - *nix 下载 Composer 的可执行文件 #### 局部安装 要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中): ~~~ curl -sS https://getcomposer.org/installer | php ~~~ 注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器: ~~~ php -r "readfile('https://getcomposer.org/installer');" | php ~~~ 这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。 你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径): ~~~ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin ~~~ #### 全局安装 你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。 你可以执行这些命令让 composer 在你的系统中进行全局调用: ~~~ curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer ~~~ > 注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。 现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。 ### 安装 - Windows #### 使用安装程序 这是将 Composer 安装在你机器上的最简单的方法。 下载并且运行 [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe),它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。 ### 使用 Composer #### 声明依赖关系 比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 `monolog`。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。 ~~~ { "require": { "monolog/monolog": "1.2.*" } } ~~~ 现在我们将使用 Composer 来安装项目的依赖。如果在当前目录下没有一个 composer.json 文件,请查看[基本用法](http://docs.phpcomposer.com/01-basic-usage.html)章节。 #### 安装依赖包 要解决和下载依赖,请执行 install 命令: ~~~ php composer.phar install ~~~ 如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替: ~~~ composer install ~~~ 接着前面的例子,这将会找到 monolog/monolog 的最新版本,并将它下载到 vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor。如果是 monolog 将会创建 vendor/monolog/monolog 目录。 小技巧: 如果你正在使用Git来管理你的项目, 你可能要添加 vendor 到你的 .gitignore 文件中。 你不会希望将所有的代码都添加到你的版本库中。 另一件事是 install 命令将创建一个 composer.lock 文件到你项目的根目录中。 #### 使用composer.lock - 锁文件 在安装依赖后,Composer 将把安装时确切的版本号列表写入` composer.lock` 文件。这将锁定改项目的特定版本。 请提交你应用程序的 `composer.lock` (包括 `composer.json`)到你的版本库中 这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。 这意味着,任何人建立项目都将下载与指定版本完全相同的依赖。你的持续集成服务器、生产环境、你团队中的其他开发人员、每件事、每个人都使用相同的依赖,从而减轻潜在的错误对部署的影响。即使你独自开发项目,在六个月内重新安装项目时,你也可以放心的继续工作,即使从那时起你的依赖已经发布了许多新的版本。 如果不存在 `composer.lock` 文件,Composer 将读取 `composer.json` 并创建锁文件。 这意味着如果你的依赖更新了新的版本,你将不会获得任何更新。 #### 更新你的依赖版本 此时要更新你的依赖版本请使用 update 命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。 ~~~ php composer.phar update ~~~ 如果只想安装或更新一个依赖,你可以白名单它们: ~~~ php composer.phar update monolog/monolog [...] ~~~ 注意: 对于库,并不一定建议提交锁文件 请参考:库的锁文件.