How To Install and Configure The Composer on Ubuntu 16.04

In this article, we will learning about – how to configure and install the Composer, A composer is a tool which manages dependency for the PHP, which will be useful to facilitate the installation and updates of the project dependencies which also show the appropriate versions required for the project requirements.


  • One machine with Ubuntu 16.04.
  • A non-root user with root privileges on the machine.

Installing the Dependencies

Before installing the composer, we need to update the machine with the below command –

$ sudo apt-get update

Once the system updates,  we shall proceed with the installation setup where we will be installing the packages required to run the Composer.

$ sudo apt-get install curl php-cli git -yReading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.7.4-0ubuntu1).
curl is already the newest version (7.47.0-1ubuntu2.2).
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 112 not upgraded.
Need to get 2,920 B of archives.
After this operation, 11.3 kB of additional disk space will be used.
Get:1 xenial/main amd64 php-cli all 1:7.0+35ubuntu6 [2,920 B]
Fetched 2,920 B in 0s (9,032 B/s)
Selecting previously unselected package php-cli.
(Reading database ... 92686 files and directories currently installed.)
Preparing to unpack .../php-cli_1%3a7.0+35ubuntu6_all.deb ...
Unpacking php-cli (1:7.0+35ubuntu6) ...
Setting up php-cli (1:7.0+35ubuntu6) ...

Installing the Composer

We will use the installation instruction, which is given on the Composer official documentation.

Composer will be installed under /usr/local/bin

Download the Composer using the below command in the /tmp folder

$ sudo php -r "copy('', '/tmp/composer-setup.php');"

Once you have downloaded the script, we will install the packages using the below  command, and will install the Composer in the /usr/local/bin with –install-dir flag;

$  sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer

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

Once the installation is completed, we will run the below command to verify the installation and version.

$ composer --version

Composer version 1.4.1 2017-03-10 09:29:45

Finally, we will remove the installation file from the /tmp directory with the below command

$ rm -rf /tmp/composer-setup.php

Installing the Required Package

To use the Compose, with a project we need composer.json file which tells the composer about which dependencies are needed for the project, we need to create the composer.json file manually in the project folder.

Also make a note that, when you add the dependency to the project we need to run the required command with the composer, which will add the dependencies automatically – No needed to add them manually.

The Composer uses the process to install the packages for the project in the following steps –

  • It identifies what kind of libraries needed for the application.
  • It will search for the suitable library in the which is an official repository for the composer.
  • We can choose the right dependencies which are required for the project.
  • Running the composer required a command to include the dependencies in the composer.json and install the package.

Create a folder for the project and change to that project in the user parent directory

$ cd ~$ 
$ mkdir demoporj
$ cd demoproj

Run the below command to create the composer.json file.

$ composer require cocur/slugify
Using version ^2.4 for cocur/slugify
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
The php.ini used by your command-line PHP is: /etc/php/7.0/cli/php.ini
Now trying to download from source- Installing cocur/slugify (v2.4): 
Cloning f11f22d4e6 from cache
Writing lock file
Generating autoload files

Include the Autoload Script

The composer has a autoload script, which we can include in the project to get the autoloading which makes the dependencies and defines the own namespace.  We just need to include the vendor/autoload.php in the PHP scripts before any class libraries are loaded.

For example, we need to include this which will load the autoload script and update the dependencies –

$ vi load.php
require __DIR__ . '/vendor/autoload.php';
echo ('Hello World, this is a demo sentence');

Just run the below command to check the autoloader script works –

$ php load.php
Hello World, this is a demo sentence

In the above article, we have learnt – how to install the Composer from the Official repository, and how to create the composer.json file and how to auto update the dependencies automatically when any new dependencies are installed