`symfony/psr-http-message-bridge` version conflict
cleptric opened this issue · 9 comments
Symfony version(s) affected
6.3
Description
With #51100, symfony/psr-http-message-bridge
was moved into this repo.
What is the update strategy for packages that required this package before?
How to reproduce
When installing the Sentry Symfony SDK, we now run into issues resolving composer dependencies
Problem 1
- Root composer.json requires sentry/sentry-symfony ^4.9 -> satisfiable by sentry/sentry-symfony[4.9.0, 4.9.1, 4.9.2].
- sentry/sentry-symfony[4.9.0, ..., 4.9.2] require symfony/psr-http-message-bridge ^1.2||^2.0 -> found symfony/psr-http-message-bridge[v1.2.0, v1.3.0, v2.0.0, ..., v2.3.1] but these were not loaded, likely because it conflicts with another require.
Possible Solution
No response
Additional Context
No response
A composer resolution conflict without the composer.json is not enough to help you. (if this is a require command, we would need both the composer.json and composer.lock from before the run as well as the exact command being run)
I can install everything correctly with that composer.json
file.
@cleptric this composer.json is clearly not the one causing the error as the error message says Root composer.json requires sentry/sentry-symfony ^4.9
Sorry, try this one https://github.com/cleptric/symfony/blob/main/composer.json
Sorry, try this one https://github.com/cleptric/symfony/blob/main/composer.json
With that file, composer install
successfully installs all packages at first, but then apparently Flex kicks in and forbids all version of the bridge.
# composer install
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 150 installs, 0 updates, 0 removals
- Locking clue/stream-filter (v1.6.0)
- Locking doctrine/annotations (1.14.3)
- Locking doctrine/cache (2.2.0)
- Locking doctrine/collections (2.1.3)
- Locking doctrine/common (3.4.3)
- Locking doctrine/dbal (3.6.5)
- Locking doctrine/deprecations (v1.1.1)
- Locking doctrine/doctrine-bundle (2.10.1)
- Locking doctrine/doctrine-migrations-bundle (3.2.4)
- Locking doctrine/event-manager (2.0.0)
- Locking doctrine/inflector (2.0.8)
- Locking doctrine/instantiator (2.0.0)
- Locking doctrine/lexer (2.1.0)
- Locking doctrine/migrations (3.6.0)
- Locking doctrine/orm (2.15.4)
- Locking doctrine/persistence (3.2.0)
- Locking doctrine/sql-formatter (1.1.3)
- Locking egulias/email-validator (4.0.1)
- Locking friendsofphp/proxy-manager-lts (v1.0.16)
- Locking guzzlehttp/promises (2.0.0)
- Locking guzzlehttp/psr7 (2.5.0)
- Locking http-interop/http-factory-guzzle (1.2.0)
- Locking jean85/pretty-package-versions (2.0.5)
- Locking laminas/laminas-code (4.11.0)
- Locking masterminds/html5 (2.8.1)
- Locking monolog/monolog (3.4.0)
- Locking myclabs/deep-copy (1.11.1)
- Locking nelmio/cors-bundle (2.3.1)
- Locking nikic/php-parser (v4.16.0)
- Locking phar-io/manifest (2.0.3)
- Locking phar-io/version (3.2.1)
- Locking php-http/client-common (2.7.0)
- Locking php-http/discovery (1.19.1)
- Locking php-http/httplug (2.4.0)
- Locking php-http/message (1.16.0)
- Locking php-http/message-factory (1.1.0)
- Locking php-http/promise (1.1.0)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.3.0)
- Locking phpdocumentor/type-resolver (1.7.2)
- Locking phpstan/phpdoc-parser (1.23.0)
- Locking phpunit/php-code-coverage (9.2.27)
- Locking phpunit/php-file-iterator (3.0.6)
- Locking phpunit/php-invoker (3.1.1)
- Locking phpunit/php-text-template (2.0.4)
- Locking phpunit/php-timer (5.0.3)
- Locking phpunit/phpunit (9.6.10)
- Locking psr/cache (3.0.0)
- Locking psr/clock (1.0.0)
- Locking psr/container (2.0.2)
- Locking psr/event-dispatcher (1.0.0)
- Locking psr/http-client (1.0.2)
- Locking psr/http-factory (1.0.2)
- Locking psr/http-message (2.0)
- Locking psr/link (2.0.1)
- Locking psr/log (3.0.0)
- Locking ralouphie/getallheaders (3.0.3)
- Locking sebastian/cli-parser (1.0.1)
- Locking sebastian/code-unit (1.0.8)
- Locking sebastian/code-unit-reverse-lookup (2.0.3)
- Locking sebastian/comparator (4.0.8)
- Locking sebastian/complexity (2.0.2)
- Locking sebastian/diff (4.0.5)
- Locking sebastian/environment (5.1.5)
- Locking sebastian/exporter (4.0.5)
- Locking sebastian/global-state (5.0.5)
- Locking sebastian/lines-of-code (1.0.3)
- Locking sebastian/object-enumerator (4.0.4)
- Locking sebastian/object-reflector (2.0.4)
- Locking sebastian/recursion-context (4.0.5)
- Locking sebastian/resource-operations (3.0.3)
- Locking sebastian/type (3.2.1)
- Locking sebastian/version (3.0.2)
- Locking sentry/sdk (3.5.0)
- Locking sentry/sentry (3.20.1)
- Locking sentry/sentry-symfony (dev-fix-user-context-filling ecf154b)
- Locking symfony/apache-pack (v1.0.1)
- Locking symfony/asset (v6.3.0)
- Locking symfony/browser-kit (v6.3.2)
- Locking symfony/cache (v6.3.2)
- Locking symfony/cache-contracts (v3.3.0)
- Locking symfony/clock (v6.3.1)
- Locking symfony/config (v6.3.2)
- Locking symfony/console (v6.3.2)
- Locking symfony/css-selector (v6.3.2)
- Locking symfony/debug-bundle (v6.3.2)
- Locking symfony/dependency-injection (v6.3.2)
- Locking symfony/deprecation-contracts (v3.3.0)
- Locking symfony/doctrine-bridge (v6.3.2)
- Locking symfony/doctrine-messenger (v6.3.1)
- Locking symfony/dom-crawler (v6.3.1)
- Locking symfony/dotenv (v6.3.0)
- Locking symfony/error-handler (v6.3.2)
- Locking symfony/event-dispatcher (v6.3.2)
- Locking symfony/event-dispatcher-contracts (v3.3.0)
- Locking symfony/expression-language (v6.3.0)
- Locking symfony/filesystem (v6.3.1)
- Locking symfony/finder (v6.3.3)
- Locking symfony/flex (v2.3.1)
- Locking symfony/form (v6.3.2)
- Locking symfony/framework-bundle (v6.3.2)
- Locking symfony/http-client (v6.3.2)
- Locking symfony/http-client-contracts (v3.3.0)
- Locking symfony/http-foundation (v6.3.2)
- Locking symfony/http-kernel (v6.3.3)
- Locking symfony/intl (v6.3.2)
- Locking symfony/mailer (v6.3.0)
- Locking symfony/maker-bundle (v1.50.0)
- Locking symfony/messenger (v6.3.3)
- Locking symfony/mime (v6.3.3)
- Locking symfony/monolog-bridge (v6.3.1)
- Locking symfony/monolog-bundle (v3.8.0)
- Locking symfony/notifier (v6.3.0)
- Locking symfony/options-resolver (v6.3.0)
- Locking symfony/password-hasher (v6.3.0)
- Locking symfony/phpunit-bridge (v6.3.2)
- Locking symfony/polyfill-intl-grapheme (v1.27.0)
- Locking symfony/polyfill-intl-icu (v1.27.0)
- Locking symfony/polyfill-intl-idn (v1.27.0)
- Locking symfony/polyfill-intl-normalizer (v1.27.0)
- Locking symfony/polyfill-mbstring (v1.27.0)
- Locking symfony/polyfill-php83 (v1.27.0)
- Locking symfony/process (v6.3.2)
- Locking symfony/property-access (v6.3.2)
- Locking symfony/property-info (v6.3.0)
- Locking symfony/proxy-manager-bridge (v6.3.0)
- Locking symfony/psr-http-message-bridge (v2.3.1)
- Locking symfony/routing (v6.3.3)
- Locking symfony/runtime (v6.3.2)
- Locking symfony/security-bundle (v6.3.3)
- Locking symfony/security-core (v6.3.3)
- Locking symfony/security-csrf (v6.3.2)
- Locking symfony/security-http (v6.3.2)
- Locking symfony/serializer (v6.3.3)
- Locking symfony/service-contracts (v3.3.0)
- Locking symfony/stopwatch (v6.3.0)
- Locking symfony/string (v6.3.2)
- Locking symfony/translation (v6.3.3)
- Locking symfony/translation-contracts (v3.3.0)
- Locking symfony/twig-bridge (v6.3.2)
- Locking symfony/twig-bundle (v6.3.0)
- Locking symfony/validator (v6.3.2)
- Locking symfony/var-dumper (v6.3.3)
- Locking symfony/var-exporter (v6.3.2)
- Locking symfony/web-link (v6.3.0)
- Locking symfony/yaml (v6.3.3)
- Locking theseer/tokenizer (1.2.1)
- Locking twig/extra-bundle (v3.7.0)
- Locking twig/twig (v3.7.0)
- Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 150 installs, 0 updates, 0 removals
- Downloading symfony/flex (v2.3.1)
- Downloading symfony/runtime (v6.3.2)
- Downloading symfony/routing (v6.3.3)
- Downloading symfony/http-foundation (v6.3.2)
- Downloading symfony/event-dispatcher (v6.3.2)
- Downloading symfony/var-dumper (v6.3.3)
- Downloading symfony/error-handler (v6.3.2)
- Downloading symfony/http-kernel (v6.3.3)
- Downloading symfony/finder (v6.3.3)
- Downloading symfony/var-exporter (v6.3.2)
- Downloading symfony/dependency-injection (v6.3.2)
- Downloading symfony/config (v6.3.2)
- Downloading symfony/cache (v6.3.2)
- Downloading symfony/framework-bundle (v6.3.2)
- Downloading symfony/string (v6.3.2)
- Downloading symfony/console (v6.3.2)
- Downloading doctrine/migrations (3.6.0)
- Downloading symfony/doctrine-bridge (v6.3.2)
- Downloading http-interop/http-factory-guzzle (1.2.0)
- Downloading symfony/security-core (v6.3.3)
- Downloading symfony/property-access (v6.3.2)
- Downloading symfony/security-http (v6.3.2)
- Downloading symfony/psr-http-message-bridge (v2.3.1)
- Downloading symfony/http-client (v6.3.2)
- Downloading jean85/pretty-package-versions (2.0.5)
- Downloading sentry/sentry (3.20.1)
- Downloading sentry/sentry-symfony (dev-fix-user-context-filling ecf154b)
- Downloading symfony/apache-pack (v1.0.1)
- Downloading masterminds/html5 (2.8.1)
- Downloading symfony/browser-kit (v6.3.2)
- Downloading symfony/css-selector (v6.3.2)
- Downloading symfony/twig-bridge (v6.3.2)
- Downloading symfony/debug-bundle (v6.3.2)
- Downloading symfony/messenger (v6.3.3)
- Downloading symfony/doctrine-messenger (v6.3.1)
- Downloading symfony/dotenv (v6.3.0)
- Downloading symfony/polyfill-intl-icu (v1.27.0)
- Downloading symfony/form (v6.3.2)
- Downloading symfony/intl (v6.3.2)
- Downloading symfony/mime (v6.3.3)
- Downloading symfony/mailer (v6.3.0)
- Downloading symfony/process (v6.3.2)
- Downloading symfony/maker-bundle (v1.50.0)
- Downloading symfony/notifier (v6.3.0)
- Downloading symfony/phpunit-bridge (v6.3.2)
- Downloading symfony/security-csrf (v6.3.2)
- Downloading symfony/security-bundle (v6.3.3)
- Downloading symfony/serializer (v6.3.3)
- Downloading symfony/translation (v6.3.3)
- Downloading symfony/validator (v6.3.2)
- Downloading psr/link (2.0.1)
- Downloading symfony/yaml (v6.3.3)
- Installing php-http/discovery (1.19.1): Extracting archive
- Installing symfony/flex (v2.3.1): Extracting archive
- Installing symfony/runtime (v6.3.2): Extracting archive
- Installing psr/cache (3.0.0): Extracting archive
- Installing doctrine/deprecations (v1.1.1): Extracting archive
- Installing doctrine/lexer (2.1.0): Extracting archive
- Installing doctrine/annotations (1.14.3): Extracting archive
- Installing symfony/deprecation-contracts (v3.3.0): Extracting archive
- Installing symfony/routing (v6.3.3): Extracting archive
- Installing symfony/polyfill-mbstring (v1.27.0): Extracting archive
- Installing symfony/polyfill-php83 (v1.27.0): Extracting archive
- Installing symfony/http-foundation (v6.3.2): Extracting archive
- Installing psr/event-dispatcher (1.0.0): Extracting archive
- Installing symfony/event-dispatcher-contracts (v3.3.0): Extracting archive
- Installing symfony/event-dispatcher (v6.3.2): Extracting archive
- Installing symfony/var-dumper (v6.3.3): Extracting archive
- Installing psr/log (3.0.0): Extracting archive
- Installing symfony/error-handler (v6.3.2): Extracting archive
- Installing symfony/http-kernel (v6.3.3): Extracting archive
- Installing symfony/finder (v6.3.3): Extracting archive
- Installing symfony/filesystem (v6.3.1): Extracting archive
- Installing symfony/var-exporter (v6.3.2): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.3.0): Extracting archive
- Installing symfony/dependency-injection (v6.3.2): Extracting archive
- Installing symfony/config (v6.3.2): Extracting archive
- Installing symfony/cache-contracts (v3.3.0): Extracting archive
- Installing symfony/cache (v6.3.2): Extracting archive
- Installing symfony/framework-bundle (v6.3.2): Extracting archive
- Installing symfony/stopwatch (v6.3.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.27.0): Extracting archive
- Installing symfony/string (v6.3.2): Extracting archive
- Installing symfony/console (v6.3.2): Extracting archive
- Installing doctrine/event-manager (2.0.0): Extracting archive
- Installing doctrine/cache (2.2.0): Extracting archive
- Installing doctrine/dbal (3.6.5): Extracting archive
- Installing doctrine/migrations (3.6.0): Extracting archive
- Installing doctrine/persistence (3.2.0): Extracting archive
- Installing symfony/doctrine-bridge (v6.3.2): Extracting archive
- Installing doctrine/sql-formatter (1.1.3): Extracting archive
- Installing doctrine/doctrine-bundle (2.10.1): Extracting archive
- Installing doctrine/doctrine-migrations-bundle (3.2.4): Extracting archive
- Installing doctrine/instantiator (2.0.0): Extracting archive
- Installing doctrine/inflector (2.0.8): Extracting archive
- Installing doctrine/common (3.4.3): Extracting archive
- Installing doctrine/collections (2.1.3): Extracting archive
- Installing doctrine/orm (2.15.4): Extracting archive
- Installing guzzlehttp/promises (2.0.0): Extracting archive
- Installing psr/http-message (2.0): Extracting archive
- Installing psr/http-factory (1.0.2): Extracting archive
- Installing ralouphie/getallheaders (3.0.3): Extracting archive
- Installing guzzlehttp/psr7 (2.5.0): Extracting archive
- Installing http-interop/http-factory-guzzle (1.2.0): Extracting archive
- Installing laminas/laminas-code (4.11.0): Extracting archive
- Installing nelmio/cors-bundle (2.3.1): Extracting archive
- Installing symfony/options-resolver (v6.3.0): Extracting archive
- Installing psr/http-client (1.0.2): Extracting archive
- Installing clue/stream-filter (v1.6.0): Extracting archive
- Installing php-http/message (1.16.0): Extracting archive
- Installing php-http/promise (1.1.0): Extracting archive
- Installing php-http/httplug (2.4.0): Extracting archive
- Installing php-http/client-common (2.7.0): Extracting archive
- Installing php-http/message-factory (1.1.0): Extracting archive
- Installing webmozart/assert (1.11.0): Extracting archive
- Installing phpstan/phpdoc-parser (1.23.0): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing phpdocumentor/type-resolver (1.7.2): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive
- Installing sebastian/version (3.0.2): Extracting archive
- Installing sebastian/type (3.2.1): Extracting archive
- Installing sebastian/resource-operations (3.0.3): Extracting archive
- Installing sebastian/recursion-context (4.0.5): Extracting archive
- Installing sebastian/object-reflector (2.0.4): Extracting archive
- Installing sebastian/object-enumerator (4.0.4): Extracting archive
- Installing sebastian/global-state (5.0.5): Extracting archive
- Installing sebastian/exporter (4.0.5): Extracting archive
- Installing sebastian/environment (5.1.5): Extracting archive
- Installing sebastian/diff (4.0.5): Extracting archive
- Installing sebastian/comparator (4.0.8): Extracting archive
- Installing sebastian/code-unit (1.0.8): Extracting archive
- Installing sebastian/cli-parser (1.0.1): Extracting archive
- Installing phpunit/php-timer (5.0.3): Extracting archive
- Installing phpunit/php-text-template (2.0.4): Extracting archive
- Installing phpunit/php-invoker (3.1.1): Extracting archive
- Installing phpunit/php-file-iterator (3.0.6): Extracting archive
- Installing theseer/tokenizer (1.2.1): Extracting archive
- Installing nikic/php-parser (v4.16.0): Extracting archive
- Installing sebastian/lines-of-code (1.0.3): Extracting archive
- Installing sebastian/complexity (2.0.2): Extracting archive
- Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
- Installing phpunit/php-code-coverage (9.2.27): Extracting archive
- Installing phar-io/version (3.2.1): Extracting archive
- Installing phar-io/manifest (2.0.3): Extracting archive
- Installing myclabs/deep-copy (1.11.1): Extracting archive
- Installing phpunit/phpunit (9.6.10): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing symfony/password-hasher (v6.3.0): Extracting archive
- Installing symfony/security-core (v6.3.3): Extracting archive
- Installing symfony/property-info (v6.3.0): Extracting archive
- Installing symfony/property-access (v6.3.2): Extracting archive
- Installing symfony/security-http (v6.3.2): Extracting archive
- Installing symfony/psr-http-message-bridge (v2.3.1): Extracting archive
- Installing symfony/http-client-contracts (v3.3.0): Extracting archive
- Installing symfony/http-client (v6.3.2): Extracting archive
- Installing jean85/pretty-package-versions (2.0.5): Extracting archive
- Installing sentry/sentry (3.20.1): Extracting archive
- Installing sentry/sdk (3.5.0)
- Installing sentry/sentry-symfony (dev-fix-user-context-filling ecf154b): Extracting archive
- Installing symfony/apache-pack (v1.0.1): Extracting archive
- Installing symfony/asset (v6.3.0): Extracting archive
- Installing masterminds/html5 (2.8.1): Extracting archive
- Installing symfony/dom-crawler (v6.3.1): Extracting archive
- Installing symfony/browser-kit (v6.3.2): Extracting archive
- Installing symfony/css-selector (v6.3.2): Extracting archive
- Installing twig/twig (v3.7.0): Extracting archive
- Installing symfony/translation-contracts (v3.3.0): Extracting archive
- Installing symfony/twig-bridge (v6.3.2): Extracting archive
- Installing symfony/debug-bundle (v6.3.2): Extracting archive
- Installing symfony/clock (v6.3.1): Extracting archive
- Installing symfony/messenger (v6.3.3): Extracting archive
- Installing symfony/doctrine-messenger (v6.3.1): Extracting archive
- Installing symfony/dotenv (v6.3.0): Extracting archive
- Installing symfony/expression-language (v6.3.0): Extracting archive
- Installing symfony/polyfill-intl-icu (v1.27.0): Extracting archive
- Installing symfony/form (v6.3.2): Extracting archive
- Installing symfony/intl (v6.3.2): Extracting archive
- Installing symfony/polyfill-intl-idn (v1.27.0): Extracting archive
- Installing symfony/mime (v6.3.3): Extracting archive
- Installing egulias/email-validator (4.0.1): Extracting archive
- Installing symfony/mailer (v6.3.0): Extracting archive
- Installing symfony/process (v6.3.2): Extracting archive
- Installing symfony/maker-bundle (v1.50.0): Extracting archive
- Installing monolog/monolog (3.4.0): Extracting archive
- Installing symfony/monolog-bridge (v6.3.1): Extracting archive
- Installing symfony/monolog-bundle (v3.8.0): Extracting archive
- Installing symfony/notifier (v6.3.0): Extracting archive
- Installing symfony/phpunit-bridge (v6.3.2): Extracting archive
- Installing friendsofphp/proxy-manager-lts (v1.0.16): Extracting archive
- Installing symfony/proxy-manager-bridge (v6.3.0): Extracting archive
- Installing symfony/security-csrf (v6.3.2): Extracting archive
- Installing symfony/security-bundle (v6.3.3): Extracting archive
- Installing symfony/serializer (v6.3.3): Extracting archive
- Installing symfony/translation (v6.3.3): Extracting archive
- Installing symfony/validator (v6.3.2): Extracting archive
- Installing psr/link (2.0.1): Extracting archive
- Installing symfony/web-link (v6.3.0): Extracting archive
- Installing symfony/yaml (v6.3.3): Extracting archive
- Installing symfony/twig-bundle (v6.3.0): Extracting archive
- Installing twig/extra-bundle (v3.7.0): Extracting archive
Package php-http/message-factory is abandoned, you should avoid using it. Use psr/http-factory instead.
Generating optimized autoload files
116 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Run composer recipes at any time to see the status of your Symfony recipes.
Loading composer repositories with package information
Restricting packages listed in "symfony/symfony" to "^6.3"
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires sentry/sentry-symfony dev-fix-user-context-filling -> satisfiable by sentry/sentry-symfony[dev-fix-user-context-filling].
- sentry/sentry-symfony dev-fix-user-context-filling requires symfony/psr-http-message-bridge ^1.2||^2.0 -> found symfony/psr-http-message-bridge[v1.2.0, v1.3.0, v2.0.0, ..., v2.3.1] but these were not loaded, likely because it conflicts with another require.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try running composer update
. I couldn't commit an updated composer.lock, as the update fails as well.
Here's a minimal composer.json that fails:
{
"type": "project",
"license": "MIT",
"minimum-stability": "stable",
"require": {
"php": ">=8.1",
"sentry/sentry-symfony": "^4.9",
"symfony/flex": "^2.3.1"
},
"extra": {
"symfony": {
"require": "^6.3"
}
},
"config": {
"allow-plugins": {
"symfony/flex": true,
"php-http/discovery": true
}
}
}
If I add "symfony/psr-http-message-bridge": "^2.3"
to the require
section, the error is gone.