Composer is a dependency management tool for PHP. It simplifies the process of adding and managing libraries, packages, and dependencies in your PHP projects. With Composer, you can define your project's dependencies in a
composer.json file, and Composer will automatically install and manage those dependencies for you.
To install PHP Composer on Ubuntu 23.10,
A system with Ubuntu 23.10 installed and running.
rootaccess to the system.
Login to the Ubuntu 23.10 server and update the package repository information.
apt update apt upgrade
Composer requires php-cli and php-zip. You can install these dependencies using the following command:
apt install php-cli php-zip
You can use the following curl command to download Composer and after download you can move it to
/usr/local/bin directory, which will make it accessible from anywhere on your system:
curl -s https://getcomposer.org/installer | php
root@vps:~# curl -s https://getcomposer.org/installer | php All settings correct for using Composer Downloading... Composer (version 2.6.5) successfully installed to: /root/composer.phar Use it: php composer.phar root@vps:~#
Move Composer binary file to the /usr/local/bin/ directory with the following command,
mv composer.phar /usr/local/bin/composer
Verify Composer version using below command,
root@vps:~# composer -V Composer version 2.6.5 2023-10-06 10:11:52 root@vps:~#
To test your installation, run the following command.
root@vps:~# composer Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 2.6.5 2023-10-06 10:11:52 Usage: command [options] [arguments] Options: -h, --help Display help for the given command. When no command is given display help for the list command -q, --quiet Do not output any message -V, --version Display this application version --ansi|--no-ansi Force (or disable --no-ansi) ANSI output -n, --no-interaction Do not ask any interactive question --profile Display timing and memory usage information --no-plugins Whether to disable plugins. --no-scripts Skips the execution of all scripts defined in composer.json file. -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 Available commands: about Shows a short information about Composer archive Creates an archive of this composer package audit Checks for security vulnerability advisories for installed packages browse [home] Opens the package's repository URL or homepage in your browser bump Increases the lower limit of your composer.json requirements to the currently installed versions check-platform-reqs Check that platform requirements are satisfied clear-cache [clearcache|cc] Clears composer's internal package cache completion Dump the shell completion script config Sets config options create-project Creates new project from a package into given directory depends [why] Shows which packages cause the given package to be installed diagnose Diagnoses the system to identify common errors dump-autoload [dumpautoload] Dumps the autoloader exec Executes a vendored binary/script fund Discover how to help fund the maintenance of your dependencies global Allows running commands in the global composer dir ($COMPOSER_HOME) help Display help for a command init Creates a basic composer.json file in current directory install [i] Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json licenses Shows information about licenses of dependencies list List commands outdated Shows a list of installed packages that have updates available, including their latest version prohibits [why-not] Shows which packages prevent the given package from being installed reinstall Uninstalls and reinstalls the given package names remove [rm] Removes a package from the require or require-dev require [r] Adds required packages to your composer.json and installs them run-script [run] Runs the scripts defined in composer.json search Searches for packages self-update [selfupdate] Updates composer.phar to the latest version show [info] Shows information about packages status Shows a list of locally modified packages suggests Shows package suggestions update [u|upgrade] Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file validate Validates a composer.json and composer.lock root@vps:~#
This verifies that Composer was successfully installed on your system.