简介
Composer是PHP中的一个依赖管理工具。它允许你声明项目所依赖的库,并会为你管理(安装/更新)这些库。
Composer 并非与 Yum 或 Apt 同类的包管理器。是的,它确实处理“包”或库,但它是基于每个项目进行管理的,将它们安装在项目内的一个目录中(例如 vendor)。默认情况下,它不会在全局安装任何东西。因此,它是一个依赖管理器。不过,为了方便起见,它通过 global 命令支持“全局”项目。
这个想法并不新鲜,Composer深受node的npm和ruby的bundler的启发。
假设:
- 你有一个依赖于多个库的项目。
- 其中一些库依赖于其他库。
作曲家:
- 让您能够声明您所依赖的库。
- 确定哪些版本的哪些包可以且需要安装,并进行安装(即把它们下载到你的项目中)。
- 你可以通过一个命令更新所有依赖项。
有关声明依赖项的更多详细信息,请参见基本用法章节。
Composer的最新版本需要PHP 7.2.5才能运行。如果你仍在使用旧版PHP,长期支持版本(2.2.x)仍支持PHP 5.3.2及以上版本。同时,还需要一些敏感的php设置和编译标志,但使用安装程序时,任何不兼容问题都会向你发出警告。
Composer需要几个支持性应用程序才能有效工作,这使得处理包依赖项的过程更加高效。在解压缩文件方面,Composer依赖于7z(或7zz)、gzip、tar、unrar、unzip和xz等工具。至于版本控制系统,Composer能与Fossil、Git、Mercurial、Perforce和Subversion无缝集成,从而确保应用程序的平稳运行以及库存储库的管理。使用Composer之前,请确保这些依赖项已在您的系统上正确安装。
Composer 是跨平台的,我们致力于让它在 Windows、Linux 和 macOS 上都能同样良好地运行。
安装 - Linux / Unix / macOS
Section titled “安装 - Linux / Unix / macOS”下载 Composer 可执行文件
Section titled “下载 Composer 可执行文件”Composer 提供了一个便捷的安装程序,您可以直接从命令行执行它。如果您想了解更多关于该安装程序的内部工作原理,不妨下载此文件或在GitHub上查看它。其源代码是纯 PHP 代码。
简而言之,安装Composer有两种方式:一种是作为项目的一部分在本地安装,另一种是作为系统级可执行文件在全局安装。
要在本地安装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。
您可以将Composer PHAR放在任何您希望的位置。如果您将其放在属于您的PATH的目录中,就可以全局访问它。在Unix系统上,您甚至可以使其可执行,无需直接使用php解释器即可调用它。
按照下载页面说明运行安装程序后,你可以运行此程序将composer.phar移动到你路径中的一个目录:
mv composer.phar /usr/local/bin/composer如果你希望仅为自己的用户安装它,并且避免需要 root 权限,可以改用 ~/.local/bin,某些 Linux 发行版默认提供此路径。
**注意:**如果上述操作因权限问题失败,你可能需要使用
sudo再次运行它。**注意:**在某些版本的macOS中,
/usr目录默认不存在。如果您收到错误“/usr/local/bin/composer:没有这样的文件或目录”,则必须在继续操作之前手动创建该目录:mkdir -p /usr/local/bin。**注意:**有关更改PATH的信息,请阅读维基百科文章和/或使用您选择的搜索引擎。
现在运行composer来启动Composer,而不是使用php composer.phar。
安装 - Windows
Section titled “安装 - Windows”使用安装程序
Section titled “使用安装程序”这是在你的电脑上安装好Composer最简单的方法。
下载并运行Composer-Setup.exe。它将安装最新版本的Composer,并设置你的PATH,以便你可以从命令行的任何目录中调用composer。
**注意:**关闭当前终端。使用新终端测试用法:这一点很重要,因为PATH仅在终端启动时加载。
切换到您的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 -VComposer version 2.4.0 2022-08-16 16:10:48Docker 镜像
Section titled “Docker 镜像”Composer 作为 Docker 容器在多个地方发布,详见 composer/docker 自述文件 中的列表。
示例用法:
docker pull composer/composerdocker run --rm -it -v "$(pwd):/app" composer/composer install要将Composer添加到现有的Dockerfile中,您只需从预构建的小尺寸镜像中复制二进制文件即可:
# Latest releaseCOPY --from=composer/composer:latest-bin /composer /usr/bin/composer
# Specific releaseCOPY --from=composer/composer:2-bin /composer /usr/bin/composer有关更多使用信息,请阅读镜像说明。
**注意:**与Docker相关的特定问题应提交至composer/docker代码库。
**注意:**你也可以使用composer代替上面的composer/composer作为镜像名称。它更简短,并且是Docker官方镜像,但并非由我们直接发布,因此通常新发布版本会延迟几天。重要提示:短别名镜像没有仅含二进制文件的对应版本,因此对于COPY --from方法,最好使用composer/composer镜像。
使用Composer
Section titled “使用Composer”既然你已经安装了Composer,就可以开始使用它了!请转到下一章,那里有一个简短的演示。