Composer "requires ext-gd * -> it is missing from your system" in CI
A package declares a ext-gd platform requirement and the runner PHP has no GD extension loaded. Composer treats the extension as an unsatisfiable dependency and stops.
What this error means
composer install fails with "requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension".
Composer
Problem 1
- intervention/image 2.7.2 requires ext-gd * -> it is missing from your system.
Install or enable PHP's gd extension.Common causes
The GD extension is not installed on the runner PHP
The CI PHP build does not include GD, so a package that requires ext-gd cannot be satisfied.
A different PHP than expected is active
The extension is present on one interpreter but the job runs another PHP where GD is absent.
How to fix it
Enable the extension via setup-php
- Read which ext-* the Problem block names.
- Add it to the "extensions" input of shivammathur/setup-php.
- Re-run so Composer sees the extension loaded.
.github/workflows/ci.yml
- uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: gd, intl, zipConfirm it loaded
Print the loaded extensions to verify the runner PHP now includes GD.
Terminal
php -m | grep -i gdHow to prevent it
- List every required ext-* in the setup-php "extensions" input.
- Keep the setup-php extensions in sync with your composer.json platform requires.
- Run
php -mearly in the job to confirm extensions are present.
Related guides
Composer "The requested PHP extension ext-intl is missing" in CIFix Composer "The requested PHP extension ext-intl is missing from your system" in CI - install the intl exte…
Composer "The zip extension and unzip/7z commands are both missing" in CIFix Composer "The zip extension and unzip/7z commands are both missing, skipping" in CI - Composer cannot ext…
Composer --ignore-platform-reqs: when it helps and when it hides bugs in CIUnderstand Composer --ignore-platform-reqs in CI - it skips PHP version and ext-* checks so install proceeds,…