Jun 2, 2023 3 min read

How to Install Composer on Ubuntu 20.04

Install Composer on Ubuntu 20.04 with our step-by-step tutorial. It is a package manager designed for the PHP programming language.

How to Install Composer on Ubuntu 20.04
Table of Contents

Introduction

Before we begin talking about how to install Composer on an Ubuntu 20.04 server, let's briefly understand - What is Composer?

Composer is a powerful dependency management tool for Ubuntu, a popular Linux operating system. It simplifies the process of managing packages and libraries for PHP projects, making it easier for developers to handle dependencies and ensure smooth integration.

With Composer, developers can easily install, update, and remove libraries, as well as manage project-specific dependencies efficiently. It enhances the productivity of developers and enables seamless collaboration in Ubuntu environments.

In this tutorial, you will install Composer on Ubuntu 20.04. Also, we will answer some FAQs regarding the Composer installation.

Advantages of Composer

  1. Dependency management: Composer simplifies handling of PHP package dependencies on Ubuntu.
  2. Easy installation: It allows effortless installation of libraries, enhancing development efficiency.
  3. Package version control: Composer ensures compatibility by managing package versions and resolving conflicts.
  4. Autoloading: It automatically loads classes, reducing the need for manual inclusion and enhancing code organization.
  5. Collaboration: Composer facilitates seamless collaboration by enabling easy sharing of project dependencies in Ubuntu environments.

Prerequisites

  • Ubuntu 20.04 server
  • A sudo user

Step 1 – Install Dependencies

Initiate the process of installation by updating the package manager cache and installing dependencies that are needed, like php-cli:

sudo apt update
sudo apt install php-cli unzip

Step 2 – Download and Install Composer

Ensure that you are in the home directory. After that, retrieve the Composer installer using curl:

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

The next thing to be done is to verify that the installer which is downloaded matches with SHA-384 hash for the updated version of the installer found on the Composer Public Keys/Signatures page.

Again, using curl, fetch the updated signature and put it in a shell variable.

HASH=`curl -sS https://composer.github.io/installer.sig`

After that, run this PHP code for verifying that the installation script is good to go:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

You will get the following output:

Output

Installer verified
⚠️
One must note that if the output appears as Installer corrupt then you must restart the downloading and verification process.

This code will download and install the Composer as a system-wide command titled composer, in /usr/local/bin:

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

You will get a similar output:

Output

All settings correct for using Composer
Downloading...

Composer (version 1.10.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

For testing the installation, use this:

composer
Output 

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.10.5 2020-04-10 11:44:22

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
...

The above output means that you have installed Composer successfully and it is operational system-wide.

FAQs to Install Composer on Ubuntu 20.04

Can I use Composer on other Linux distributions?

Yes, Composer can be installed and used on various Linux distributions, including Ubuntu, Debian, CentOS, and Fedora.

How do I update Composer to the latest version?

To update Composer to the latest version, you can run the following command: composer self-update.

Where is Composer installed on Ubuntu?

By default, Composer is installed in the /usr/local/bin directory on Ubuntu.

How do I use Composer to manage dependencies in my PHP project?

Create a composer.json file in your project's root directory, define your dependencies, and run composer install to fetch and install them.

Can I specify specific versions of packages with Composer?

Yes, you can define specific versions or version ranges of packages in your composer.json file to ensure compatibility.

How can I contribute to the Composer project?

You can contribute to Composer on GitHub by reporting issues, submitting pull requests, or participating in discussions on the official Composer repository.

Conclusion

We hope this detailed guide helped you understand how to install Composer on Ubuntu 20.04. To learn more about Composer installation, check out the official Composer documentation.

If you have any queries, please leave a comment below, and we’ll be happy to respond to them for sure.

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to DevOps Tutorials - VegaStack.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.