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

简介

如果你是一名 PHP 开发者,想要简化你的项目依赖管理,那么 Composer 是一个必不可少的工具。Composer 可以简化包管理,并允许你轻松地将外部库集成到你的项目中。

本教程将向你展示如何在 Ubuntu 22.04 操作系统上安装 Composer,并允许你充分利用其强大的功能。首先,让我们了解一下 Composer 是什么以及为什么要使用它。

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

  • 到此为止,我们的云服务器就远程连接上了。

安装和配置步骤

第一步:更新系统软件包

运行以下命令来更新系统软件包。它会从仓库中检索可用的更新信息,并更新所有的软件包列表。

sudo apt-get update

第二步:安装 curl 和 PHP

我们需要 curl 来下载 Composer。通常,Ubuntu 22.04 已经自带了 curl;但是,如果你没有安装,请运行以下命令来安装它。

sudo apt-get install curl

接下来,使用以下命令安装 PHP。

sudo apt-get install php php-curl

如果终端请求确认,请按 y 继续安装。

第三步:下载 Composer

使用以下命令下载 Composer。

curl -sS https://getcomposer.org/installer -o composer-setup.php

第四步:安装 Composer

最后,运行以下命令在你的计算机上安装 Composer。

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

你可以在将来使用以下命令更新 Composer。它会在你的计算机上安装最新版本的 Composer。

sudo composer self-update

如果你已经拥有最新版本,你将看到与下图相同的输出。

第五步:检查 Composer 版本

运行以下命令来测试安装是否成功。它将打印你安装的 Composer 的版本号。

composer -v

太棒了!你现在已经成功在 Ubuntu 22.04 操作系统上安装了 Composer。

如何使用 Composer?

安装 Composer 后,你现在可以尝试在 PHP 项目中使用它。本节描述如何使用 Composer 管理项目中的依赖项。

1. 创建一个新的项目文件夹

这里我们将使用一个名为 brick/mathArbitrary-precision arithmetic library 与 Composer。

让我们为你的项目创建一个新文件夹,并使用以下命令进入该目录:

mkdir ~/brickMath
cd ~/brickMath

2. 安装所需的包

现在我们需要安装我们的包 brick/math,以便在 PHP 脚本中使用它。正如你在下图中所看到的,brick/math 包在开发人员中非常受欢迎。它有很多 GitHub 星星和下载量。

你可以使用以下命令安装该包。你可以用相同的方式从 Packagist 安装任何包。

composer require brick/math

3. 检查已安装的包

进入该目录以查看已安装的包。它将显示你在项目文件夹中创建的新文件。你可以看到一个名为 vendor 的目录和两个名为 composer.jsoncomposer.lock 的文件。你可以使用命令 ls -l 查看已安装的包。

  • vendor 目录是存储项目依赖项的地方。
  • composer.lock 文件存储有关所有已安装的包及其版本的信息。它将项目锁定到特定版本。
  • composer.json 文件描述了 PHP 项目,包括依赖项和与你的项目相关的元数据。

然后你可以检查 composer.json 文件,以了解已安装的包和版本。你可以使用任何文本编辑器或只是 cat 命令, cat composer.json 来输出 composer.json 文件的内容。

4. 创建并运行 PHP 脚本

现在是时候创建一个 PHP 脚本文件并编写你的第一个代码了。我们可以使用新安装的 brick/math 包来进行一些数学运算。

注意:PHP 不会自动加载必要的类。因此,我们可以使用 Composer 提供的 PHP 自动加载器来加载包,而不是在脚本文件中提及所有包。你唯一需要做的就是在你的 PHP 脚本中包含 vendor/autoload.php 文件。

首先,你应该创建你的第一个脚本文件。在这里,我们使用 brick/math 中的 BigInteger 类创建一个名为 brickmath.php 的文件来获取两个数字的和。

<?php
require __DIR__ . '/vendor/autoload.php';
use Brick\\Math\\BigInteger;
$n1 = BigInteger::of(123456);
$n2 = BigInteger::of(789101);
$sum = $n1->plus($n2);
echo "sum of $n1 and $n2 is - ".$sum."\\n";

保存文件并运行以下命令来运行该脚本。

php brickmath.php

5. 更新项目包

你可以使用命令 composer update 来更新你的项目包。它将检查已安装包的较新版本,并在有较新版本时更新包。

6. 删除已安装的包

正如我们使用 Composer 安装新包一样,我们也应该知道在必要时如何删除它们。例如,让我们看看如何从我们的项目中删除 brick/math 包。

你可以使用以下命令删除该包,并检查它是否也从 composer.json 文件中删除。

composer remove brick/math
cat composer.json

如何卸载 Composer?

你需要知道如何从你的机器上删除和卸载 Composer。使用 cd /usr/local/bin/ 命令转到 /usr/local/bin 目录,并使用以下命令从系统中删除 Composer 目录。

sudo rm -r composer

结论

正如你所看到的,Composer 是一个你需要在你的工具箱中拥有的伟大工具,因为它允许开发人员轻松地管理外部库和包。如果你按照教程进行操作,你现在知道如何在 Ubuntu 22.04 上安装 Composer 以及如何在你的项目中使用 Composer。通过使用 Packagist 中的其他库开发项目,你可以提高你的技能并获得更多使用 Composer 的经验。

雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

139.《python中的正则详解》

文章目录 什么是正则正则表达式语法正则demo1.匹配模式2.finditer3.正则分组4.非捕获组5.分组的引用6. 正则替换7.正则切割7.正则「或」7.枚举取反 面试题 前言: 拉开差距的不是上班的8小时,而是下班后的16小时,同志们,加油,卷起!!! 什么是正则 1.正则表达式是一种高级文本处理…

大语言模型(LLM)中大数据的压缩存储及其重要性

在大型语言模型&#xff08;LLM&#xff09;中&#xff0c;KV Cache&#xff08;键值缓存&#xff09;的压缩方法及其重要性。 为什么要压缩KV Cache&#xff1f; 计算效率&#xff1a;在生成文本的过程中&#xff0c;每个生成的token都需要与之前所有的token的键值&#xff…

『大模型笔记』评估大型语言模型的指标:ELO评分,BLEU,困惑度和交叉熵介绍以及举例解释

评估大型语言模型的指标:ELO评分,BLEU,困惑度和交叉熵介绍以及举例解释 文章目录 一. ELO Rating大模型的elo得分如何理解1. Elo评分的基本原理2. 示例说明3. 大模型中的Elo得分总结3个模型之间如何比较计算,给出示例进行解释1. 基本原理扩展到三方2. 示例计算第一场: A A…

高效使用AI完成编程项目任务的指南:从需求分析到功能实现

随着人工智能工具的普及&#xff0c;即便是零编程基础或基础薄弱的用户&#xff0c;也可以借助AI完成许多技术任务。然而&#xff0c;要高效地使用AI完成编程任务&#xff0c;关键在于如何清晰表达需求&#xff0c;并逐步引导AI实现目标。 在本文中&#xff0c;我们将通过开发…

【视觉惯性SLAM:四、相机成像模型】

相机成像模型介绍 相机成像模型是计算机视觉和图像处理中的核心内容&#xff0c;它描述了真实三维世界如何通过相机映射到二维图像平面。相机成像模型通常包括针孔相机的基本成像原理、数学模型&#xff0c;以及在实际应用中如何处理相机的各种畸变现象。 一、针孔相机成像原…

【Compose multiplatform教程18】多平台资源的设置和配置

要正确配置项目以使用多平台资源&#xff0c;请执行以下操作&#xff1a; 添加库依赖项。 为每种资源创建必要的目录。 为限定资源创建其他目录&#xff08;例如&#xff0c;深色 UI 主题或本地化字符串的不同图像&#xff09;。 依赖项和目录设置 要访问多平台项目中的资源…

RabbitMQ工作模式(详解 工作模式:简单队列、工作队列、公平分发以及消息应答和消息持久化)

文章目录 十.RabbitMQ10.1 简单队列实现10.2 Work 模式&#xff08;工作队列&#xff09;10.3 公平分发10.4 RabbitMQ 消息应答与消息持久化消息应答概念配置 消息持久化概念配置 10.5 订阅模式广播模式路由模式主题模式&#xff08;通配符模式&#xff09; 10.6 消息确认机制1…

Excel for Finance 07 `FV PV` 函数

Excel 的 FV 函数用于计算一笔投资在未来的价值&#xff0c;基于固定的利率和定期付款。这是一个金融函数&#xff0c;常用来分析储蓄计划、贷款、或投资的增长。 语法&#xff1a; FV(rate, nper, pmt, [pv], [type])参数说明&#xff1a; rate&#xff08;必需&#xff09;&…

React(二)——注册页/登录页/Reducer/

文章目录 项目地址一、使用Yarn安装所有环境二、文件结构以及路由配置三、登录和注册3.1 注册页面3.1.1 静态页面3.1.2 表单提交useSate3.2 登录页面3.3 admin 的登录页面四、关于auth登录和注册的Reducer4.1 authReducer创建4.2 根rootReducer的创建4.3 创建和配置Redux的stor…

每天五分钟深度学习框架pytorch:越来越深的卷积神经网络模型VGG

本文重点 前面我们使用pytorch搭建了卷积神经网络LeNet-5,AlexNet,本文我们学习卷积神经网络VGG,VGG相比于前面的两个神经网络而言比较深,我们知道网络模型越深那么就难以训练,但是VGG效果比较好。 Vgg使用了更小的滤波器,同时使用了更深的网络结构,AlexNet只有8层网络结…

小程序配置文件 —— 12 全局配置 - pages配置

全局配置 - pages配置 在根目录下的 app.json 文件中有一个 pages 字段&#xff0c;这里我们介绍一下 pages 字段的具体用法&#xff1b; pages 字段&#xff1a;用来指定小程序由哪些页面组成&#xff0c;用来让小程序知道由哪些页面组成以及页面定义在哪个目录&#xff0c;…

从0到100:基于Java的大学选修课选课小程序开发笔记(上)

背景 为学生提供便捷的课程选择方式&#xff0c;并帮助学校进行课程管理和资源调配&#xff1b;主要功能包括&#xff1a;课程展示&#xff0c;自主选课&#xff0c;取消选课&#xff0c;后台录入课程&#xff0c;统计每门课程报名情况&#xff0c;导出数据&#xff0c;用户管…

Dify服务器部署教程

Dify的github地址: https://github.com/langgenius/dify 服务器要求&#xff1a;2c4g 1、克隆仓库 可以通过命令或者下载zip解压后上传服务器都行 git clone https://github.com/langgenius/dify.git 2、docker启动 cd dify/dockercp .env.example .envdocker compose up -d…

Mac 12.1安装tiger-vnc问题-routines:CRYPTO_internal:bad key length

背景&#xff1a;因为某些原因需要从本地mac连接远程linxu桌面查看一些内容&#xff0c;必须使用桌面查看&#xff0c;所以ssh无法满足&#xff0c;所以决定安装vnc客户端。 问题&#xff1a; 在mac上通过 brew install tiger-vnc命令安装, 但是报错如下&#xff1a; > D…

大模型WebUI:Gradio全解系列9——Additional Features:附加功能(上)

大模型WebUI&#xff1a;Gradio全解系列9——Additional Features&#xff1a;附加功能&#xff08;上&#xff09; 前言本篇摘要9. Additional Features&#xff1a;附加功能9.1 队列9.1.1 使用方法9.1.2 配置队列演示 9.2 输入输出流9.2.1 输出流1. 生成器yield2. 流媒体 9.2…

Java - 日志体系_Apache Commons Logging(JCL)日志接口库_桥接Logback 及 源码分析

文章目录 PreApache CommonsApache Commons ProperLogging &#xff08;Apache Commons Logging &#xff09; JCL 集成logbackPOM依赖配置文件 logback.xml使用 源码分析jcl-over-slf4j 的工作原理1. LogFactory 的实现2. SLF4JLogFactory 和 Log 的实例化过程3. SLF4JLog 和 …

文档大师:打造一站式 Word 报告解决方案1

前言 在政府、医院、银行、财务以及销售等领域&#xff0c;常常需要创建各种报告文件来展开工作汇报&#xff0c;譬如季度销售报告、年度总结报告、体检报告和保险合同等。在没有报表工具支持之前&#xff0c;这类报告主要通过 Word 制作&#xff0c;费时费力且难以维护&#…

阿尔萨斯(JVisualVM)JVM监控工具

文章目录 前言阿尔萨斯(JVisualVM)JVM监控工具1. 阿尔萨斯的功能2. JVisualVM启动3. 使用 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff…

<数据集>芝麻作物和杂草识别数据集<目标检测>

数据集下载链接 &#xff1c;数据集&#xff1e;芝麻作物和杂草识别数据集&#xff1c;目标检测&#xff1e;https://download.csdn.net/download/qq_53332949/90181548数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;1300张 标注数量(xml文件个数)&#xff1a;130…

STM32-笔记18-呼吸灯

1、实验目的 使用定时器 4 通道 3 生成 PWM 波控制 LED1 &#xff0c;实现呼吸灯效果。 频率&#xff1a;2kHz&#xff0c;PSC71&#xff0c;ARR499 利用定时器溢出公式 周期等于频率的倒数。故Tout 1/2KHZ&#xff1b;Ft 72MHZ PSC71&#xff08;喜欢设置成Ft的倍数&…