Composer is the dependency manager for PHP that helps you manage packages and libraries in your projects.
Below is a handy list of commonly used Composer CLI commands with one-line explanations to keep as a quick reference.
Installation and Updates
-
composer self-update
→ Updates Composer itself to the latest version. -
composer diagnose
→ Checks your system for common issues with Composer setup.
Project Setup
-
composer init
→ Starts an interactive session to create a composer.json file. -
composer create-project vendor/package [dir
] → Creates a new project from a package (e.g., Laravel, Symfony).
Dependencies Management
-
composer install
→ Installs dependencies listed in composer.lock (or composer.json if no lock file exists). -
composer update
→ Updates all dependencies to the latest versions according to composer.json. -
composer require vendor/package
→ Installs and adds a package to your project. -
composer remove vendor/package
→ Removes a package and updates composer.json.
Autoloading
-
composer dump-autoload
→ Regenerates the autoloader for faster class loading. -
composer dump-autoload -o
→ Optimizes autoloader by converting PSR-0/4 autoloading rules into a class map.
Information & Debugging
-
composer show
→ Lists all installed packages in the current project. -
composer show vendor/package
→ Shows detailed information about a specific package. -
composer outdated
→ Displays packages that have updates available. -
composer why vendor/package
→ Shows which package requires a given dependency. -
composer why-not vendor/package
→ Explains why a package cannot be installed or updated.
Scripts & Custom Commands
-
composer run-script script-name
→ Runs a script defined in composer.json. -
composer test
→ Shortcut to run the test script defined in your composer.json. - Global Usage
-
composer global require vendor/package
→ Installs a package globally (available system-wide). -
composer global show
→ Lists globally installed Composer packages.
Cache & Config
composer clear-cache
→ Clears Composer’s cache.
composer config key value
→ Sets a configuration option (local or global).
composer config --list
→ Shows all current Composer configuration settings.
Version Control
-
composer install --no-dev
→ Installs only production dependencies. -
composer install --dev
→ Installs development dependencies. -
composer update --lock
→ Updates only the composer.lock file without changing dependencies.
Handy Flags
-
--no-scripts
→ Skips running scripts defined in composer.json. -
--no-progress
→ Hides progress display for CI/CD pipelines. -
--dry-run
→ Simulates a command without executing it.
Top comments (0)