下载、安装和更新依赖项可能会很痛楚,并且可能会分散您实际编写代码的把稳力。依赖管理器会为您处理这些问题,从而使您作为开拓职员的生活更轻松。
在 Composer 涌现之前,有几个不同的选项来管理项目依赖项,例如 PEAR 和 PHP Package Manager。如今,Composer 已经成为 PHP 中依赖管理的事实标准。
如果您仍在利用 PEAR 或 PHP 包管理器,那么可能是时候进行变动了。利用 Composer 有几个缘故原由:
它是用 PHP 编写的,不须要额外的软件安装(如 Python)它支持全局和本地/私有包数以千计的库和运用程序已经依赖它,因此通过利用 Composer,您将能够轻松找到包和更新。先决条件
为了在 Rocky Linux 8.4 上安装 PHP Composer,您须要:
在您的系统上安装 PHP 5.3 或更高版本(并且必须能够运行 Phar 扩展)。安装须要root访问权限。更新系统在您做任何其他事情之前,请确保您的系统的软件包是最新的。运行以下命令更新系统包。
sudo dnf check-update
sudo dnf update -y
在 Rocky Linux 8.4 上安装 PHP
在安装 Composer 之前,您须要在系统上安装 PHP 和 PHP 阐明器。
默认情形下,AppStream 存储库随附 PHP 7.2、7.3 和 7.4。您可以通过运行以下命令列出所有可用的 PHP 版本。
sudo dnf module list php
您将看到如下所示的输出。
在 Rocky Linux 8.4 上安装 PHP
在本指南中,我们将安装 PHP 7.4。您该当选择一个适宜您须要的 PHP 版本,但请确保您的决定不仅基于本指南,还基于像这样的兼容性报告。
运行以下命令以启用和安装 PHP 7.4。
sudo dnf module enable php:7.4sudo dnf install php php-cli php-gd php-curl php-zip -ysudo dnf install php-mbstring php-opcache php-intl php-mysqlnd -y
您现在可以通过运行此命令检讨 PHP 是否安装精确。
php -v
您该当得到以下输出。
在 Rocky Linux 8.4 上安装 PHP Composer
现在您已经在系统上安装了一个 PHP 版本,您可以利用它来下载和安装 Composer 二进制文件。
首先,运行以下命令下载最新版本的 Composer。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
接下来,我们将验证下载的文件没有破坏。我们该当始终验证下载的文件以确保它没有破坏。Composer 可能非常敏感,缺点可能会导致您利用 Composer 的办法涌现问题。实行以下代码以验证安装程序文件没有破坏。
HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
验证成功后,您该当会看到文本“Installer encrypted”,如下所示。如果您没有得到预期的输出,则文件很可能已破坏,您该当再次考试测验下载。然后,重复验证过程,直到得到预期的“安装程序验证”输出。
现在您有两个选项可以在您的系统上安装 Composer。
选项 1 是在您的系统上全局安装 Composer,这意味着它可以从您系统的任何目录访问,并且可以在任何地方利用。如果您想将 composer 用作命令行工具,而不仅仅是 PHP 项目的依赖项管理器,请利用此选项。
如果您利用此选项,请运行以下命令。
sudo php composer-installer.php --filename=composer --install-dir=/usr/local/bin
上面的命令将利用/usr/local/bin中名为 composer 的命令全局安装 Composer 。
您现在可以通过运行此命令来检讨您是否精确安装了 Composer。
composer
您该当得到以下输出。
选项 2 是在当前目录中本地安装 Composer,以便仅由该特定项目利用。
要在本地安装 Composer,请运行以下命令。
sudo php composer-setup.php
上述命令会将 Composer 安装在本地当前目录中,以便仅由该特定项目利用。您可以通过运行 ./composer.phar 来利用作曲家。
测试 PHP Composer现在您已经安装了 Composer,您可以利用它来创建一个可以测试您的 Composer 安装的新项目。
根据履历,您该当始终为您从事的每个项目创建一个单独的目录。运行以下命令为您的测试项目创建一个新目录并导航到新创建的目录。
cd && mkdir php-composer-test && cd php-composer-test
您现在可以运行以下命令来利用 Composer 初始化一个新项目。
composer init
上面的命令将利用您选择的所有详细信息初始化一个新项目。
composer init 命令还会在当前目录中创建一个新的 composer.json 文件,如下所示。它是一个 JSON 格式的文件,个中包含所有项目哀求。Composer 利用此文件为您的项目安装所需的依赖项。
现在是时候将包加载到您的项目中了。前往https://packagist.org 并搜索要在您的项目中安装的包。
例如,如果您想安装 Remove Stop Words 包,它可以帮助我们从字符串中删除停用词。如果您在 Packagist 上搜索术语“Remove Stop Words”,您该当会看到以下结果。
要添加新包,请运行 composer require 命令并选择要加载到当前项目的包(没有任何版本)。
composer require rap2hpoutre/remove-stop-words
Composer 将自动决定利用哪个版本的包。Composer 会从 Packagist 下载包到你确当前目录并解压这个包的内容。
它还将利用有关此新包的详细信息更新 composer.json 文件。它还将创建一个新文件 - composer.lock,以及一个新的供应商目录,如下所示。
Composer 利用 composer.lock 文件来锁定当前项目中安装的包版本。此文件用于避免与同一包的其他安装或克隆项目时发生冲突。供应商目录包含您项目的所有依赖项。
要更新项目依赖项,请运行 composer update 命令。Composer 将首先查看 composer.lock 文件以找出已安装的软件包版本,然后它将利用 Packagist 上可用的最新版本更新此软件包。
composer update
样本输出:
要更新特定软件包,请运行以下命令。
composer update vendor/package
要删除特定包,请运行以下命令。
composer remove vendor/package
例如,如果您不再须要 Remove Stop Words 包,则可以运行以下命令将其从项目中卸载。
composer remove rap2hpoutre/remove-stop-words
样本输出:
“
把稳:强烈建议您不要删除供应商目录或其内容,由于该目录包含所有须要与 Composer 一起安装才能运行您的运用程序的依赖项。
”
结论在本文中,您学习了如何在 Rocky Linux 8.4 上安装 PHP Composer PHP 依赖管理器来初始化新项目、加载新包、更新现有包或从项目中卸载它们。您还学习了一些用于管理项目依赖项的基本 Composer 命令。