本文最先发布在: https://www.itcoder.tech/posts/how-to-install-and-use-composer-on-ubuntu-20-04/
Composer 是一个 PHP 依赖管理器(类似于 Node.js 的 npm,或者 Python 的 pip)。
Composer 将会拉取你的项目所依赖的所有 PHP 软件包,并且为你管理它们。它被所有现代化的 PHP 框架和平台所使用,例如: Laravel, Symfony, Drupal, 和 Magento 2。
这篇指南解释如何在 Ubuntu 20.04 上安装和使用 Composer。
一、在 Ubuntu 上安装 PHP Composer
在安装 Composer 之前,确保你已经在你的系统上安装了必要的依赖软件包:
1 2 | sudo apt update sudo apt install wget php-cli php-zip unzip |
Composer 提供了一个使用 PHP 编写的安装器,我们可以用来安装 Composer。 使用
1 | wget -O composer-setup.php https://getcomposer.org/installer |
上面这个命令将会将文件在当前文件夹下保存为
Composer 是一个简单的 CLI 应用程序文件,并且既可以被全局安装,也可以作为项目的一部分进行安装。全局安装需要 sudo 权限。
- 想要在系统范围内全局安装 Composer,将会对所有用户可用,只需要将文件放到系统 PATH 路径下。运行下面的命令将 Composer 安装到
/usr/local/bin 目录:
1 | sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer |
输出:
1 2 3 4 5 | All settings correct for using Composer Downloading... Composer (version 1.10.7) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer |
现在你可以在你的终端通过运行
- 想要在本地项目安装 composer,输入:
1 | sudo php composer-setup.php --install-dir=/path/to/project |
这将会在你的项目根目录下下载一个名为
当一个新的 Composer 版本可用时,你可以使用下面的命令来升级:
1 | sudo composer self-update |
二、Composer 入门
现在 Composer 已经在你的 Ubuntu 系统上被安装好了,我们一起看看如何使用 Composer 去创建一个 PHP 项目。
第一步就是去创建项目根目录,并且切换到该目录:
1 2 | mkdir ~/my-first-composer-project cd ~/my-first-composer-project |
在这个例子中,我们将会使用一个叫做
运行下面的命令初始化一个新的 Composer 项目,并且安装 carbon 软件包:
1 | composer require nesbot/carbon |
输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Using version ^2.35 for 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.2): Downloading (100%) - Installing symfony/polyfill-php80 (v1.17.0): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%) - Installing symfony/translation (v5.1.2): Downloading (100%) - Installing nesbot/carbon (2.35.0): Downloading (100%) 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 创建了
如果你列出你的项目目录,你将会看到它包含两个文件
1 | ls -l |
1 2 3 | -rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json -rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock drwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor |
-
vendor 是存放项目依赖软件包的目录 -
composer.lock 是一个文件,保留了所有已经安装的软件包和他们的版本号,锁定项目到指定的版本。 -
composer.json 是用来描述 PHP 项目,包括 PHP 依赖和其他元数据的文件。所有通过 Composer 可以安装的 PHP 软件包都列在 Packagist。
Composer 拥有自动加载的能力,它允许你使用 PHP 类,而不用使用
创建一个名为
1 2 3 4 5 6 7 | <?php require __DIR__ . '/vendor/autoload.php'; use Carbon\Carbon; printf("Now: %s", Carbon::now()); |
让我们一行一行分析代码。
下一行创建
输入下面的命令,运行脚本:
1 | php testing.php |
输出将会像下面这样:
1 | Now: 2020-06-17 20:41:04 |
稍后,如果你想升级你的 PHP 软件包,你只需简单运行:
1 | composer update |
上面的这个命令,我们会检查所有已经安装的软件包是否有更新的版本,并且,如果有更新的版本,Composer 将会升级软件包。
三、总结
我们已经向你展示如何在 Ubuntu 20.04 上安装 Composer,并且如何使用它创建一个基础的 PHP 项目。
想要寻找更多关于 Composer 的信息,请浏览 Composer 官方文档页面。
如果你有任何疑问,请通过以下方式联系我们:
微信:
微信群: 加上面的微信,备注微信群
QQ: 3217680847
QQ 群: 82695646