# How To Install and Configure The Composer on Ubuntu 16.04

Software & CodingUbuntuOperating System

In this article, we will be 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 update of the project dependencies which also show the appropriate versions required for the project requirements.

## Pre-requisites

• 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
The following NEW packages will be installed:
php-cli
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 http://in.archive.ubuntu.com/ubuntu 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.

$sudo php -r "copy('https://getcomposer.org/installer', '/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
Output:
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 Output: 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 Packagist.org 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 Output: 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
<?php
echo ('Hello World, this is a demo sentence');
\$ php load.php
Hello World, this is a demo sentence