Introduction (介绍)#

Composer是PHP的依赖管理工具。它允许您声明您的项目所依赖的库, 并且它将为您管理 (安装/更新) 它们.

Dependency management(依赖管理)#

Composer is 不是 一个与Yum或 Apt 同样意义上的包管理器. 是的, 它处理 "包" 或库, 但它以每个项目为基础管理它们, 并将它们安装在项目内的目录 (如 vendor) 中. 默认情况下, 它不会在全局范围内安装任何内容。因此, 它是一个依赖关系管理器. 不过, 它为了方便通过global命令确实支持"全局"项目.

这个想法并不新鲜,Composer强烈受node的npm和ruby的bundler的启发.

假设:

  1. 您有一个项目, 依赖于多个库.
  2. 其中一些库依赖于其他库.

Composer:

  1. 允许您声明所依赖的库.
  2. 找出哪些软件包的哪个版本能及需要被安装, 并安装它们 (意味着将它们下载到您的项目中).
  3. 你可以在一个命令更新你所有的依赖项.

有关声明依赖项的更多详细信息, 请参见基本用法章节.

System Requirements(系统要求)#

最新版本的Composer需要 PHP 7.2.5 才能运行。长期支持 版本(2.2.x)仍然提供对PHP 5.3.2+的支持,以防您陷入困境 旧版 PHP 版本。 还需要一些敏感的 php 设置和编译标记, 但是当使用安装程序时, 您会收到有关任何不兼容的警告..

要从源码安装软件包而不是普通的 zip 存档, 您将需要git, svn, fossil或hg,这取决于软件包是如何受版本控制的.

Composer是多平台的, 我们努力使其运行在 Windows,Linux 和 macOS 上一样好.

Installation - Linux / Unix / macOS(在Linux / Unix / macOS上安装)#

Downloading the Composer Executable(下载 Composer 可执行文件)#

Composer提供了一个方便的安装程序,你可以直接从命令行执行。如果您希望了解有关安装程序的内部工作原理, 请随时下载此文件或在GitHub上进行审阅。源代码是纯 PHP。

有两种简单的方法来安装Composer。局部作为你的项目的一部分, 或在全局范围内作为全系统的可执行文件.

Locally(局部安装)#

在局部安装Composer的问题只是在你的项目目录中运行安装程序。有关说明, 请参阅下载页.

安装程序将只检查几个PHP设置, 然后下载composer.phar到您的工作目录。这个文件是Composer的二进制文件。它是一个 PHAR (php存档), 一个 php 的存档格式, 除其他事项外,可以在命令行上运行.

现在运行 php composer.phar 执行 Composer.

您可以使用--install-dir选项将Composer安装到特定的目录, 另外(重新)将其命名使用--filename选项。当按照下载页面说明运行安装程序时, 添加以下参数:

php composer-setup.php --install-dir=bin --filename=composer

现在运行 php bin/composer 执行 Composer.

Globally(全局安装)#

你可以把Composer PHAR放到任何你想要的地方。如果你将它放在作为PATH一部分的目录中, 则可以全局访问它。在 Unix 系统上, 您甚至使它可执行并调用它, 而无需直接使用 php解释器。

当按照下载页面说明运行安装程序之后, 您可以运行此操作来移动composer.phar 到你path中的目录:

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

如果您只希望为你的用户安装它,并避免需要root权限, 您可以使用 ~/.local/bin 代替某些 Linux 发行版默认可用的.

注意: 如果上述操作由于权限而失败, 您可能需要使用sudo再执行一遍.

注意: 在某些版本的 macOS 上, 默认情况下/usr目录不存在。如果您收到错误 "/usr/local/bin/composer: No such file or directory", 那么您必须手动创建目录, 然后再继续执行: mkdir -p /usr/local/bin.

注意: 有关更改PATH路径的信息, 请阅读百度百科文章和/或用你选择的搜索引擎.

现在运行 composer 执行 Composer 而不是 php composer.phar.

Installation - Windows(在Windows上安装)#

Using the Installer(使用安装程序)#

这是在你的机器上安装Composer最简单的方法.

下载并运行Composer-Setup.exe。它将安装最新的Composer版本并设置您的PATH路径, 这样你可以从任何目录中在您的命令行调用composer..

注意: 关闭你的当前终端。用新的终端测试使用: 这很重要, 因为只有当终端重新启动时才会加载PATH路径..

Manual Installation(手动安装)#

更改目录到PATH路径中的目录, 并按照下载页面说明运行安装程序以下载composer.phar.

composer.phar旁边创建一个新的composer.bat文件 :

使用 cmd.exe:

C:\bin> echo @php "%~dp0composer.phar" %*>composer.bat

使用 PowerShell:

PS C:\bin> Set-Content composer.bat '@php "%~dp0composer.phar" %*'

将目录添加到 PATH 环境变量 (如果尚未)。有关更改 PATH 变量的信息, 请参阅本文和/或用你选择的搜索引擎.

关闭你的当前终端. 开一个新终端测试用法:

C:\Users\username>composer -V
Composer version 2.4.0 2022-08-16 16:10:48

Docker Image#

Composer 在几个地方作为 Docker 容器发布,请参阅 composer/docker README中的列表.

用法示例:

docker pull composer/composer
docker run --rm -it -v "$(pwd):/app" composer/composer install

要将 Composer 添加到现有的 Dockerfile,您只需从预先构建的低尺寸映像中复制二进制文件:

# Latest release
COPY --from=composer/composer:latest-bin /composer /usr/bin/composer

# Specific release
COPY --from=composer/composer:2-bin /composer /usr/bin/composer

阅读映像说明以获取更多使用信息.

注意:Docker 特定问题应提交到composer/docker 存储库中.

注意: 您也可以使用composer而不是composer/composer作为上面的映像名称。它更短,是 Docker 官方映像,但不是由我们直接发布的,因此通常会延迟几天收到新版本。重要提示:短别名映像没有仅二进制等效项,因此对于 COPY --from 方法,最好使用 composer/composer.

Using Composer(使用 Composer)#

现在你已经安装了Composer, 你已经准备好使用它了! 请前往下一章查看简短的演示。

基本用法