在Ubuntu 14.04上下载,安装和使用Composer

Composer是一种非常流行的用于依赖项的PHP管理工具,用于简化项目的安装和更新。它还会检查项目需要哪些其他软件包,并以正确的版本自动为您获取它们。

在本文档中,我们将在Vultr Ubuntu 14.04 VPS上安装并开始使用Composer。

要求

  • Vultr Ubuntu 14.04 VPS。
  • Sudo有权访问该VPS的普通用户。

安装

依赖安装

首先,我们必须确保VPS能够成功安装并正常运行Composer的所有要求。

更新软件包列表。

sudo apt-get update

接下来,实际安装Composer的要求。您需要curl下载以及php5-cli安装和使用它。git也由Composer用于项目需求下载。

安装要求。

sudo apt-get install curl php5-cli git

下载并安装

安装Composer非常简单。

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

该下载和安装Composer作为composer位于中的全局命令称为/usr/local/bin。您将获得此输出。

#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

运行以下命令以测试安装。

composer

输出如下。

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00

Usage:
 command [options] [arguments]

用法

JSON文件

要使用Composer,您需要一个名为的文件,composer.json以告诉Composer项目有什么要求以及要安装这些要求的版本。不要手动创建此文件,以免做错事-添加依赖项时,Composer会为您创建文件。其他依赖项也会自动添加。

作曲家用法示例

要将Composer用于依赖项安装:

  • 确定应用程序所需的库。
  • 在Composer的存储库<Packagist.org>上找到一个好的开源库。
  • 选择您想要的包裹。
  • 使用composer require包括安装的依赖。

初始化Slugit

现在,我们将使用一个简单的示例应用程序来完成此过程,该应用程序将使用一个句子并将其制成友好的字符串,称为“ slug”。这经常用于将页面名称转换为URL,以使其更易于生成URL和路径。我们将从为应用程序创建一个名为的文件夹开始slugit

mkdir ~/slugit
cd ~/slugit

在Packagist上搜索

现在,我们将继续packagist.org寻找可帮助产生弹头的软件包。slug在Packagist上搜索应显示其中一些软件包。

easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type

我们需要找到一个字符串到段塞的转换器,cocur/slugify看起来不错,有很多装置和星号。

要求包裹

选择软件包后,我们将composer require其包含为依赖项,生成composer.json并安装它。

composer require cocur/slugify

从生成的输出中可以看出,Composer选择了最新的软件包版本并使用了它。检查~/slugit,你应该可以看到2个文件,composer.lockcomposer.json加上一个命名的文件夹vendor

composer.lock 用于存储有关软件包版本的信息,并保持相同。

vendor文件夹用于安装依赖项。不要将此文件夹提交到Git存储库或GitHub中。

如果您下载的项目已经包含 composer.json,请使用composer install来下载其依赖项。

了解版本限制

如果检查composer.json包含的内容,应该会看到类似于此块的内容。

{
    "require": {
        "cocur/slugify": "^1.2"
    }
}

Composer具有许多不同的格式和约束来定义软件包的版本,以实现灵活性和稳定性。^在版本号之前,该版本为最低版本,并允许以下所有版本2.0

通常,您不需要更改版本限制,但如果需要,请查看Composer的官方文档,以获取有关所有功能的更多信息和指南。

自动加载脚本

Composer提供了一个自动加载脚本,这使得使用依赖项和名称空间更加容易。

只需vendor/autoload.php在类实例化之前将其包含在PHP中即可。

回到我们的slugit例子。让我们创建一个测试脚本,称为example.php使用cocur/slugify

vim example.php

将以下内容放入example.php

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

use Cocur\Slugify\Slugify;

$slugify = new Slugify();

echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');

运行脚本。

php example.php

它将输出以下文本:

hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it

更新项目依赖项

更新项目依赖项。

composer update

如果找到更新,并且与中给出的约束兼容composer.json,它将替换先前版本和update composer.lock

更新一个或多个特定库。

composer update vendor1/package1 vendor2/package2

结论

在本教程中,我们介绍了安装,配置以及使用Composer进行PHP应用程序依赖项管理的示例。



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息