Разрешение конфликтов зависимостей Установка Behat и Laravel 5.3

Здравствуйте, я пытаюсь установить behat / behat через composer, однако у меня есть проблемы с зависимостями. Я попробовал следующее из многих:

composer require behat/behat:"3.*" symfony/dependency-injection:"3.*" --dev

Тем не менее, выход выше

Your requirements could not be resolved to an installable set of packages.

Ниже находится мой файл composer.json.

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.3.*",
        "dingo/api": "1.0.*@dev",
        "tymon/jwt-auth": "0.5.11",
        "phaza/laravel-postgis": "^3.0",
        "jenssegers/raven": "1.9.0",
        "guzzlehttp/guzzle": "~5.3|~6.0",
        "oureastudios/laravel5-braintree": "dev-master",
        "vinkla/algolia": "^2.1",
        "alexpechkarev/google-maps": "1.0.5",
        "pda/pheanstalk": "~3.0",
        "league/flysystem-aws-s3-v3": "~1.0",
        "pubnub/pubnub": "3.7.*",
        "maknz/slack": "^1.7",
        "intervention/image": "^2.3",
        "wilgucki/csv": "^0.5.1",
        "doctrine/dbal": "^2.5",
        "davibennun/laravel-push-notification": "@dev",
        "aloha/twilio": "^2.1",
        "laravel/socialite": "^2.0",
        "barryvdh/laravel-dompdf": "^0.8.0",
        "mockery/mockery": "1.0",
        "maxmind-db/reader": "~1.0",
        "predis/predis": "^1.1"
    },
    "require-dev": {
        "symfony/dom-crawler": "~3.1",
        "symfony/css-selector": "~3.1",
        "fzaninotto/faker": "~1.4",
        "phpunit/phpunit": "~5.0",
        "phpspec/phpspec": "~2.1",
        "johnkary/phpunit-speedtrap": "^1.0",
        "barryvdh/laravel-ide-helper": "^2.4"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php",
            "tests/Helpers/",
            "tests/Traits/"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "pre-update-cmd": [
            "php artisan clear-compiled",
            "php artisan ide-helper:generate",
            "php artisan ide-helper:models -N",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan optimize"
        ],
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

Какую комбинацию Beat и Symfony/ зависимостей-инъекции я должен установить? Я пробовал много версий, когда-либо выдавал приведенную ниже команду composer info behat / behat -a, но все равно безрезультатно.

1 ответ

Решение

По сути, всякий раз, когда вы попадаете в этот кошмар зависимостей, вам настоятельно рекомендуется указывать требуемые версии, а не подстановочные знаки. Другими словами: дайте Композитору меньше места для воображения.

Вот что я сделал, чтобы это работало:

1. Угадай, что лучше всего подходит

Laravel 5.3 был выпущен еще 9 сентября 2016 года. В нем упоминались релизы Behat, первым основным выпуском до этого был 3.1.0, выпущенный 28 марта 2016 года. Так что это первая версия, которую я поместил в Composer напрямую (т.е. без любые подстановочные знаки и тому подобное) вроде так:

"behat/behat": "3.1.0",

2. Запустите материал без каких-либо условий

После этого я просто запустил следующее:

  • composer dump-autoload: очистить кеш
  • rm -rf vendor а также rm composer.lock: просто, чтобы облегчить жизнь
  • composer install --no-scripts: просто чтобы убедиться, что php artisan вещи не работают
  • прибыль
composer show | grep behat
behat/behat                           v3.1.0               Scenario-oriented BDD framework for PHP 5.3
behat/gherkin                         v4.5.1               Gherkin DSL parser for PHP 5.3
behat/transliterator                  v1.2.0               String transliterator
Другие вопросы по тегам