如何在 Ubuntu 20.04 上安装和使用 Composer-阿里云开发者社区

开发者社区> 雪梦科技> 正文

如何在 Ubuntu 20.04 上安装和使用 Composer

简介: Composer 是一个 PHP 依赖管理器(类似于 Node.js 的 npm,或者 Python 的 pip)。
+关注继续查看

ubuntu-20.04-install-and-use-composer (1).png

本文最先发布在: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 之前,确保你已经在你的系统上安装了必要的依赖软件包:

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-setup.php

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.7) 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 入门

现在 Composer 已经在你的 Ubuntu 系统上被安装好了,我们一起看看如何使用 Composer 去创建一个 PHP 项目。

第一步就是去创建项目根目录,并且切换到该目录:

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

在这个例子中,我们将会使用一个叫做carbon的 PHP 软件包来创建一个示例应用,并且打印当前时间。

运行下面的命令初始化一个新的 Composer 项目,并且安装 carbon 软件包:

composer require nesbot/carbon

输出:

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 创建了 composer.json文件,下载,并且安装了 carbon 和所有的依赖软件包。

如果你列出你的项目目录,你将会看到它包含两个文件composer.jsoncomposer.lock,并且有一个vendor目录。

ls -l
-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](https://packagist.org/)。
    

Composer 拥有自动加载的能力,它允许你使用 PHP 类,而不用使用requireinclude声明。

创建一个名为testing.php的测试文件,并且添加下面的代码:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

让我们一行一行分析代码。

/vendor/autoload.php 文件由 Composer 自动生成,并且可以自动加载所有的库。

下一行创建Carbon的关联,并且最后使用 Carbon 的now方法打印出当前的时间。

输入下面的命令,运行脚本:

php testing.php

输出将会像下面这样:

Now: 2020-06-17 20:41:04

稍后,如果你想升级你的 PHP 软件包,你只需简单运行:

composer update

上面的这个命令,我们会检查所有已经安装的软件包是否有更新的版本,并且,如果有更新的版本,Composer 将会升级软件包。

三、总结

我们已经向你展示如何在 Ubuntu 20.04 上安装 Composer,并且如何使用它创建一个基础的 PHP 项目。

想要寻找更多关于 Composer 的信息,请浏览 Composer 官方文档页面

如果你有任何疑问,请通过以下方式联系我们:

微信:

d04f3bf28ed6fb1e7da5626d29a5954b8a155d1f.png

微信群:
加上面的微信,备注微信群

QQ: 3217680847
43a0b14140e8280f81a2d24fd67085a522312c62.jpeg

QQ 群: 82695646
25bc83f6e5d21a3c3889d95c5d6d1e2047a3dbea.jpeg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何在Ubuntu上安装最新版本的Node.js
如何在Ubuntu上安装最新版本的Node.js Node.js是一个软件平台,通常用于构建大规模的服务器端应用。Node.js使用JavaScript作为其脚本语言,由于其非阻塞I/O设计以及单线程事件循环机制,使得它可以交付超高的性能。
759 0
+关注
雪梦科技
专注Android应用研发,性能优化,移动安全等领域。
457
文章
6
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载