如何在 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.rhkb.cn/news/495314.html

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

相关文章

16_HTML5 语义元素 --[HTML5 API 学习之旅]

HTML5 引入了许多新的语义元素&#xff0c;这些元素有助于创建结构更清晰、更具描述性的网页。语义化 HTML 不仅改善了代码的可读性&#xff0c;还增强了搜索引擎优化&#xff08;SEO&#xff09;&#xff0c;提高了无障碍访问性&#xff0c;并使得开发者更容易理解和维护代码。…

国标GB28181视频监控平台与Liveweb视频监控汇聚平台对接方案

应急管理部门以“以信息化推动应急管理能力现代化”为总体目标&#xff0c;加快现代信息技术与应急管理业务深度融合&#xff0c;全面支持现代应急管理体系建设&#xff0c;这不仅是国家加强和改进应急管理工作的关键举措&#xff0c;也是应对日益严峻的应急管理形势和满足公众…

内部知识库的未来展望:技术融合与用户体验的双重升级

在当今数字化飞速发展的时代&#xff0c;企业内部知识库作为知识管理的关键载体&#xff0c;正站在变革的十字路口&#xff0c;即将迎来技术融合与用户体验双重升级的崭新时代&#xff0c;这一系列变化将深度重塑企业知识管理的格局。 一、技术融合&#xff1a;开启知识管理新…

EasyGBS国标GB28181公网平台P2P远程访问故障诊断:云端服务端排查指南

随着信息技术的飞速发展&#xff0c;视频监控领域正经历从传统安防向智能化、网络化安防的深刻转变。EasyGBS平台&#xff0c;作为基于国标GB28181协议的视频流媒体平台&#xff0c;为用户提供了强大的视频监控直播功能。然而&#xff0c;在实际应用中&#xff0c;P2P远程访问可…

HW护网分析研判思路,流量告警分析技巧

《网络安全自学教程》 这篇文章&#xff0c;写给每一个「护网黑奴」&#xff0c;为初次护网的小伙伴普及一下护网工作内容&#xff0c;提供一些简单的分析思路。 护网分析研判思路 1、护网组织架构和责任划分1.1、安全监控1.2、分析研判1.3、应急处置 2、分析研判2.1、判断告警…

springBoot发布https服务及调用

一、服务端发布https服务 1、准备SSL证书 &#xff08;1&#xff09;自签名证书&#xff1a;如果你只是用于开发或测试环境&#xff0c;可以生成一个自签名证书。 &#xff08;2&#xff09;CA 签名证书&#xff1a;对于生产环境&#xff0c;应该使用由受信任的证书颁发机构 …

Web 第一次作业 初探html 使用VSCode工具开发

目录 初探html? 代码展示&#xff1a; 初探html 大多数代码都比较冗长 不是很简洁 还有许多标签功能不会使用 记录一下成长过程 哈哈哈哈哈&#xff01;<–_–> 代码展示&#xff1a; 12.10首次确定书写对象 牢9门 <!DOCTYPE html> <html lang"en&quo…

分别查询 user 表中 avatar 和 nickname 列为空的用户数量

文章目录 1、要查询 user 表中 avatar 列为空的用户数量2、要查询 user 表中 nickname 列为空的用户数量 1、要查询 user 表中 avatar 列为空的用户数量 好的&#xff0c;要查询 user 表中 avatar 列为空的用户数量&#xff0c;你可以使用以下 SQL 查询语句&#xff1a; SELE…

【批量生成WORD和PDF文件】根据表格内容和模板文件批量创建word文件,一次性生成多个word文档和批量创建PDF文件

如何按照Word模板和表格的数据快速制作5000个word文档 &#xff1f; 在与客户的合作的中需要创建大量的合同&#xff0c;这些合同的模板大概都是一致的&#xff0c;是不是每次我们都需要填充不一样的数据来完成&#xff1f; 今天用表格数据完成合同模板的填充&#xff0c;批量…

DX12 快速教程(2) —— 渲染天蓝色窗口

快速导航 新建项目 "002-DrawSkyblueWindow"DirectX 12 入门1. COM 技术&#xff1a;DirectX 的中流砥柱什么是 COM 技术COM 智能指针 2.创建 D3D12 调试层设备&#xff1a;CreateDebugDevice什么是调试层如何创建并使用调试层 3.创建 D3D12 设备&#xff1a;CreateD…

【MySQL】7.0 入门学习(七)——MySQL基本指令:帮助、清除输入、查询等

1.0 help &#xff1f; 帮助指令&#xff0c;查询某个指令的解释、用法、说明等。详情参考博文&#xff1a; 【数据库】6.0 MySQL入门学习&#xff08;六&#xff09;——MySQL启动与停止、官方手册、文档查询 https://www.cnblogs.com/xiaofu007/p/10301005.html 2.0 在cmd命…

鸿蒙开发:了解帧动画

前言 所谓帧动画&#xff0c;就是类似播放电影一样&#xff0c;一帧一帧的进行播放&#xff0c;相对于属性动画&#xff0c;其每一帧&#xff0c;我们都可以进行设置相关的属性值&#xff0c;并且具有暂停播放&#xff0c;继续播放的优点&#xff0c;而且还具备事件的实时响应&…

发际线不断后移,生发液排行榜第一名,让绒毛碎发爆出来

脱发真的很困扰人&#xff0c;不疼不痒&#xff0c;但看着就老了几岁&#xff0c;形象也大打折扣&#xff0c;男性脱发就更直观了&#xff01;同学严重时&#xff0c;后脑勺几块拳头大的脱发区域&#xff0c;还有的呈“m”型脱发&#xff0c;脑门看着都大了。脱发除了遗传因素以…

Y3地图制作1:水果缤纷乐、密室逃脱

文章目录 一、水果缤纷乐1.1 游戏设计1.1.1 项目解析1.1.2 项目优化1.1.3 功能拆分 1.2 场景制作1.2.1 场景需求1.2.2 创建主镜头、绘制草稿&#xff0c;构思文案和情景1.2.3 构建场景地图1.2.4 光源与氛围设置 1.3 游戏初始化1.3.1 物编、UI预设置1.3.2 游戏初始化1.3.2 玩家初…

48页PPT|2024智慧仓储解决方案解读

本文概述了智慧物流仓储建设方案的行业洞察、业务蓝图及建设方案。首先&#xff0c;从政策层面分析了2012年至2020年间国家发布的促进仓储业、物流业转型升级的政策&#xff0c;这些政策强调了自动化、标准化、信息化水平的提升&#xff0c;以及智能化立体仓库的建设&#xff0…

【Linux】ChatGLM-4-9B模型之All Tools

一、摘要 最近在研究GLM4模型&#xff0c;发现自带的All Tools比较感兴趣&#xff0c;它具有完整工具调用能力的对话模式&#xff0c;原生支持网页浏览、代码执行、图表生成、图片生成&#xff0c;并支持自定义工具。它能够满足大模型私有化部署的个性定制&#xff0c;因此记录…

Vue零基础必学教程(16) 计算属性

往期内容&#xff1a; Vue零基础必学教程&#xff08;5&#xff09;挂载 Vue零基础必学教程&#xff08;6&#xff09;基本选项 Vue零基础必学教程&#xff08;7&#xff09;模板 Vue零基础必学教程&#xff08;8&#xff09;模板语法 Vue零基础必学教程&#xff08;9&…

14:30面试,14:08就出来了,面试问的有点变态呀。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%,这…

【Leetcode】1705. 吃苹果的最大数目

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 有一棵特殊的苹果树&#xff0c;一连 n n n 天&#xff0c;每天都可以长出若干个苹果。在第 i i i 天&#xff0c;树上会长出 a p p l e s [ i ] apples[i] apples[i] 个苹果&a…

kimi搜索AI多线程批量生成txt原创文章软件-不需要账号及key

kimi搜索AI多线程批量生成txt原创文章软件介绍&#xff1a; 软件可以设置三种模型写文章&#xff1a;kimi&#xff1a;默认AI模型&#xff0c;kimi-search&#xff1a;联网检索模型 &#xff0c;kimi-research&#xff1a;探索版搜索聚合模型 1、可以设置写联网搜索文章&#…