I am having a very difficult time unwinding a composer dependency management issue related to Symfony, BrowserKit and the Panther headless testing library.
I have three basic environments, 2 of which are interrelated.
Command:
SYMFONY_ENV=dev composer install
Errors:
Problem 1
- Conclusion: don't install symfony/symfony v3.4.22
- Conclusion: don't install symfony/symfony v3.4.21
- Conclusion: don't install symfony/symfony v3.4.20
- Conclusion: don't install symfony/symfony v3.4.19
- Conclusion: don't install symfony/symfony v3.4.18
- Conclusion: don't install symfony/symfony v3.4.17
- Conclusion: don't install symfony/symfony v3.4.16
- Conclusion: don't install symfony/symfony v3.4.15
- Conclusion: don't install symfony/symfony v3.4.14
- Conclusion: don't install symfony/symfony v3.4.13
- Conclusion: don't install symfony/symfony v3.4.12
- Conclusion: don't install symfony/symfony v3.4.11
- Conclusion: don't install symfony/symfony v3.4.10
- Conclusion: don't install symfony/symfony v3.4.9
- Conclusion: don't install symfony/symfony v3.4.8
- Conclusion: don't install symfony/symfony v3.4.7
- Conclusion: don't install symfony/symfony v3.4.6
- Conclusion: don't install symfony/symfony v3.4.5
- Conclusion: don't install symfony/symfony v3.4.4
- Conclusion: don't install symfony/symfony v3.4.3
- Installation request for symfony/panther ^0.3.0 -> satisfiable by symfony/panther[v0.3.0].
- Conclusion: don't install symfony/symfony v3.4.2
- Conclusion: don't install symfony/symfony v3.4.1
- symfony/panther v0.3.0 requires symfony/browser-kit ^4.0 -> satisfiable by symfony/browser-kit[v4.2.0, v4.2.1, v4.2.2, v4.2.3].
- don't install symfony/browser-kit v4.2.0|don't install symfony/symfony v3.4.0
- don't install symfony/browser-kit v4.2.1|don't install symfony/symfony v3.4.0
- don't install symfony/browser-kit v4.2.2|don't install symfony/symfony v3.4.0
- don't install symfony/browser-kit v4.2.3|don't install symfony/symfony v3.4.0
- Installation request for symfony/symfony ^3.4 -> satisfiable by symfony/symfony[v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.3, v3.4.4, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9].
Composer.json
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": {
"AppBundle\\": "src/AppBundle"
},
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"autoload-dev": {
"psr-4": { "Tests\\": "tests/" },
"files": [ "vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php" ]
},
"require": {
"php": ">=7.1",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/orm": "^2.5",
"friendsofsymfony/rest-bundle": "^2.4",
"incenteev/composer-parameter-handler": "^2.0",
"jms/serializer-bundle": "^2.4",
"nesbot/carbon": "^1.34",
"sensio/distribution-bundle": "^5.0.19",
"sensio/framework-extra-bundle": "^5.0.0",
"symfony/monolog-bundle": "^3.1.0",
"symfony/polyfill-apcu": "^1.0",
"symfony/swiftmailer-bundle": "^2.6.4",
"symfony/symfony": "^3.4",
"twig/twig": "^1.0||^2.0"
},
"require-dev": {
"symfony/debug": "^3.4",
"sensio/generator-bundle": "^3.0",
"symfony/phpunit-bridge": "^3.4",
"symfony/var-dumper": "^3.4",
"symfony/panther": "^0.2.0",
"symfony/browser-kit": "^4.2"
},
"scripts": {
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
},
"config": {
"platform": {
"php": "7.1.3"
},
"sort-packages": true
},
"extra": {
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "3.4-dev"
}
}
HOWEVER, if I remove the following lines from "require-dev" of composer.json
"symfony/panther": "^0.2.0",
"symfony/browser-kit": "^4.2"
THEN, it works within ALL three environments!
Naturally, I am removing my ./vendor folder and composer.lock file before I run each test.
Any help is greatly appreciated!
As far as I know, symfony/panther
does not support Symfony 3.4 which you use.
See the following issues on Symfony Panther GitHub repo: #79 and #142