如何在Debian 10上安装和使用PHP Composer
原文地址:如何在Debian 10上安装和使用PHP Composer
Composer是PHP的依赖项管理器(类似于Node.js的npm或Python的pip)。本文介绍了如何在Debian 10系统上安装Composer。我们还将介绍如何使用Composer创建和管理PHP项目。
Composer是PHP的依赖项管理器(类似于Node.js的npm或Python的pip)。
Composer将提取您项目所依赖的所有必需PHP软件包,并为您管理它们。它用于所有现代PHP框架和平台,例如Laravel,Symfony,Drupal和Magento。
本文介绍了如何在Debian 10系统上安装Composer。我们还将介绍如何使用Composer创建和管理PHP项目。
在Debian上安装Composer
在安装Composer之前,请确保已在Debian系统上安装了所有必需的软件包:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer提供了一个用PHP编写的安装程序,我们将使用它来安装Composer。
使用以下命令下载安装程序wget
:
wget -O composer-setup.php https://getcomposer.org/installer
Composer是一个单文件CLI应用程序,可以全局安装或作为项目的一部分安装。全局安装需要sudo特权。
-
要将Composer作为适用于所有用户的系统级命令全局安装,只需将文件放在系统中的目录中即可
PATH
。以下命令将Composer安装在/usr/local/bin
目录中: -
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
-
All settings correct for using Composer Downloading... Composer (version 1.10.10) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
-
现在,您可以通过
composer
在终端中运行来使用Composer 。 -
要在本地安装composer,请将文件下载到您的项目根目录中:
-
sudo php composer-setup.php --install-dir=/path/to/project
- 这将下载名为的文件
composer.phar
。要使用Composer,请导航到项目目录并运行php composer.phar
- 当有新的Composer版本可用时,可以使用以下命令更新安装:
-
sudo composer self-update
Composer入门
既然您已经在Debian系统上安装了Composer,我们将向您展示如何创建一个PHP项目。
首先创建一个目录,该目录将成为项目的根目录并保存composer.json
文件。此文件描述您的PHP项目,包括PHP依赖关系和其他元数据。
运行以下命令以创建项目目录并使用以下命令切换到该目录:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
接下来,我们将composer.json
使用composer require <package name>
命令初始化一个新文件,并指定我们要下载的包。在此示例中,我们将创建一个示例应用程序,该应用程序将使用名为carbon的包来打印当前时间。
运行以下命令以初始化新composer.json
文件并安装carbon软件包:
composer require nesbot/carbon
输出:
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.1.3): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.18.1): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.18.1): Downloading (100%)
- Installing symfony/translation (v5.1.3): Downloading (100%)
- Installing nesbot/carbon (2.38.0): Downloading (100%)
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more
如输出所示,Composer创建composer.json
文件并下载并安装carbon及其所有依赖项。
如果使用列出项目的目录ls
,则会看到它包含两个文件composer.json
和composer.lock
,以及一个vendor
目录。
ls -l
输出:
-rw-r--r-- 1 linuxize users 60 Aug 17 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Aug 17 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Aug 17 21:02 vendor
vendor
-项目依赖项存储的目录。composer.lock
-包含所有已安装软件包的列表(包括软件包版本)的文件。composer.json
-描述PHP项目和所有PHP依赖项的文件。
您可以在Composer存储库Packagist中搜索PHP软件包。
Composer提供了自动加载功能,允许您使用PHP类,而无需require
或include
文件。
创建一个名为的文件testing.php
并粘贴以下代码:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
让我们逐行分析代码。
在打开php标记后的第一行中,我们包含了vendor/autoload.php
由Composer自动生成的文件。该文件将自动加载所有必需的库。
接下来,将别名Carbon\Carbon
化为Carbon
,在最后一行,我们使用Carbon now
方法打印当前时间。
通过键入以下命令来运行脚本:
php testing.php
输出应如下所示:
输出:
Now: 2020-08-17 21:08:45
以后,如果您需要更新项目包,请输入:
composer update
上面的命令将检查已安装软件包的较新版本,如果找到了较新的版本,并且版本约束与中指定的匹配,则composer.json
Composer将更新该软件包。
结论
我们已经向您展示了如何在Debian 10上安装Composer以及如何使用它来创建基本的PHP项目。
有关Composer的更多信息,请访问官方文档页面。
{{ nComment.author.nickname }}
{{ nComment.time }}