When working on a PHP project, it's often necessary to check which versions of Composer packages are actually installed—especially when debugging or preparing deployment documentation. Here’s how to do it.

To list all installed Composer packages with their versions:

composer show

This outputs a list like:

guzzlehttp/guzzle     7.0.1   Guzzle is a PHP HTTP client library
symfony/console       v5.2.3  Symfony Console Component

To inspect a particular package in detail:

composer show vendor/package-name

Example:

composer show guzzlehttp/guzzle

This will show the installed version, description, dependencies, and more.

For scripts or machine-readable output (requires jq):

composer show --format=json | jq '.installed[] | "\(.name): \(.version)"'

If you want to list only production dependencies:

composer show --no-dev

Or only development dependencies:

composer show --dev