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

2023-05-16

本文最先发布在: 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 项目。

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

阿里云: 爆款云服务器低至1折,1核1G 1M 仅17月/月

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。

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 官方文档页面。

阿里云: 爆款云服务器低至1折,1核1G 1M 仅17月/月




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

微信:

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

QQ: 3217680847

QQ 群: 82695646雪梦科技交流群

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 20.04 上安装和使用 Composer 的相关文章

  • Python+tkinter+pillow实现屏幕任意区域截图

    基本思路 xff1a 首先获取并显示全屏幕截图 xff0c 然后在全屏幕截图上响应鼠标左键按下和抬起事件 xff0c 最后进行二次截图 import tkinter import tkinter filedialog import os f
  • iOS瀑布流

    WaterFallFlow 瀑布流Demo 使用UICollectionView实现瀑布流 自定义UICollectionViewLayout中的主要代码 xff1a YJWaterFlowLayout h中代码 span class hl
  • RedHat8 服务安装(编译、rpm、dnf)

    安装软件的三种方式 下载源码编译安装 可以实现自定义安装目录和参数调整可以指定版本安装在其他2个方法无法安装的情况下可以编译安装 xff08 解决兼容性 xff09 需要自己解决依赖关系 下载rpm包安装 需要下载对应系统的rpm包 xff
  • OpenStack octavia LB负载均衡基础

    octavia octavia 作为openstack的负载均衡方案 xff0c 实现4层和7层的负载 xff0c 自Pike版本替换了neutron自带的LB方案 xff08 Neutorn LBaaS xff09 基本对象 loadba
  • DoraOS连接Proxmox VE搭建简单桌面云

    最近公司想换桌面云 xff0c 我就说想搭建一个Proxmox VE环境 xff0c 问我为什么要用Proxmox 简单说就是好用 xff0c 相对于Xendesktop和horizon xff0c 以及各种厂商的VDI解决方案 xff0c
  • DoraCloud for Proxmox桌面云上启用NVIDIA Tesla P4的vGPU功能

    Proxmox virtualization environment xff0c 简称PVE xff0c 是一个开源免费的基于linux的企业级虚拟化方案 xff0c 功能不输专业收费的VMware 简单的说 xff0c PVE是一个基于D
  • 【meta-learning】经典工作MAML和Reptile(demo理解meta-learning机制)

    Meta Learning MAML ICML 17 MAML和模型结构 任务无关 xff0c 唯一的要求只是模型有参数就可以 MAML产生一个权重的初始化 xff0c 其他模型再使用少量的样本就能在其基础上进行fine tuning 因此
  • 语音识别功能集成总结

    一 场景 业务需求 xff0c 需要集成语音识别功能 xff0c 供移动端使用 二 调研 经过初步了解 xff0c 决定集成国内主流的三家厂商 xff0c 科大讯飞 百度 腾讯 讯飞不用说 xff0c 在语音识别这块之前被评为全球最聪明的5
  • 技巧1 python|django接收参数数据类型转换(数组-列表,对象-字典,json)举例用法

    1 接收的参数是中文乱码 xff08 E7等 xff09 django 中 xff1a 引入quote 引入后红线处点击红色小灯 xff0c 点安装 span class token keyword from span urllib spa
  • WEEK4 二分与贪心

    DDL的恐惧 xff1a 题干 xff1a ZJM 有 n 个作业 xff0c 每个作业都有自己的 DDL xff0c 如果 ZJM 没有在 DDL 前做完这个作业 xff0c 那么老师会扣掉这个作业的全部平时分 所以 ZJM 想知道如何安
  • Ubuntu中的dpkg命令

    dpkg是Debian Package的缩写 xff0c 是专门为Debian开发的软件包管理系统 xff0c 方便安装 管理 更新 近来在安装chrome的时候 xff0c 一开始使用sudo apt get install命令 xff0
  • 分布式事务实战--go语言的saga事务

    我们团队在引入go语言做微服务的过程中 xff0c 遇见了分布式事务的强需求 我们的交易中心涉及大量的业务 xff0c 包括了商品 库存 各类营销活动 商品权限等等 xff0c 按照我们微服务的设计 xff0c 需要拆分到多个微服务 原先由
  • openstack安装故障排除经验

    1 OpenStack的部署过程遇到的问题可归纳总结为配置文件问题 配置步骤缺失 等 2 故障通常有以下几种情况 xff1a xff08 1 xff09 时间同步问题 xff0c 两 xff08 多 xff09 个节点间时间不同步 xff0
  • 【已解决】 Windows11安装WindowsSubsystemForAndroid时报错VClibs错误

    管理员终端输入以下代码安装 xff0c WindowsSubsystemForAndroid add Appxpackage 34 MicrosoftCorporationII WindowsSubsystemForAndroid 1 7
  • SQL解析引擎Apache Calcite

    1 什么是Apache Calcite Apache Calcite 是一款开源SQL解析工具 可以将各种SQL语句解析成抽象语法术AST Abstract Syntax Tree 之后通过操作AST就可以把SQL中所要表达的算法与关系体现
  • C# 使用Selenium

    一 介绍 xff1a Selenium 是一个用于Web应用程序测试的工具 Selenium测试直接运行在浏览器中 xff0c 就像真正的用户在操作一样 1 Selenium Webdriver xff08 也就是Selenium2 xff
  • CentOS 7关闭与启用图形化界面记录

    1 关闭图形界面命令 systemctl set default multi user target 2 查看启动模式 systemctl get default 显示 graphical targe 则代表是 图形化界面模式 显示 mul
  • ubuntu下conda虚拟环境的操作,cuda,cudnn版本的查询, pytorch的安装

    一 ubuntu下conda虚拟环境的操作 随着深度学习的发展 xff0c tensorflow keras pytorch等深度学习框架的兴起和发展 xff0c 或者多用户的使用情况 xff0c 使得在ubuntu下我们可能需要安装多个深
  • dos 设置环境变量

    1 查看环境变量 echo path 2 设置环境变量 set path 61 path C your path
  • H264--2--语法及结构

    名词解释 场和帧 xff1a 视频的一场或一帧可用来产生一个编码图像 在电视中 xff0c 为减少大面积闪烁现象 xff0c 把一帧分成两个隔行的场 片 xff1a 每个图象中 xff0c 若干宏块被排列成片的形式 片分为I片 B片 P片和

随机推荐