-
Notifications
You must be signed in to change notification settings - Fork 3
Description
(This might be a problem from phpro/grumphp, but we are using the phar so I am reporting it here.)
Symptoms
We are working with a container with redis 6.3.0 extension.
(this is what I get from php --re redis | head -1)
In our project we require phpro/grumphp-shim.
Until recently we had version 2.17.*, now we have version 2.18.0.
Now we get this report when we run grumphp:
> Checking Box requirements:
✔ This application requires a PHP version matching "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0".
✔ The package "amphp/dns" requires the extension "filter".
✔ The package "league/uri-interfaces" requires the extension "filter".
✔ The package "symfony/polyfill-mbstring" requires the extension "iconv".
✔ This application requires the extension "json".
✔ The package "amphp/dns" requires the extension "json".
✔ The package "nikic/php-parser" requires the extension "json".
✔ The package "amphp/socket" requires the extension "openssl".
✔ The package "kelunik/certificate" requires the extension "openssl".
✔ The package "gitonomy/gitlib" requires the extension "pcre".
✔ The package "nikic/php-parser" requires the extension "tokenizer".
✔ The package "symfony/dependency-injection" conflicts with the extension "psr".
✔ The package "symfony/service-contracts" conflicts with the extension "psr".
✘ The package "symfony/cache" conflicts with the extension "redis".
✔ The package "symfony/cache" conflicts with the extension "relay".
[ERROR] Your system is not ready to run the application.
Fix the following mandatory requirements:
=========================================
* The package "symfony/cache" conflicts with the extension "redis". You need to disable it in order to run this application.
When I look into vendor/phpro/grumphp-shim/phar.composer.lock, I see that symfony/cache has "conflict": {.."ext-redis": "<6.1",..}.
The older version of symfony/cache did not have this line, this is why the problem only occurs with phpro/grumphp-shim 2.18.0.
Given that our redis is at 6.3.0, there should not be a conflict.
Problem
It seems to me that the box requirements check does not consider the version constraint of a line in "conflict".
(I would like to know where the check is implemented)