解决依赖冲突安装 Behat 和 Laravel 5.3

Resolving Dependency Conflicts Installing Behat and Laravel 5.3

您好,我正在尝试通过 Composer 安装 behat/behat,但是我遇到了依赖性问题。我尝试了以下许多方法:

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"
    }
}

我应该安装 behat 和 symfony/dependency-injection 的什么组合?我尝试了很多版本,曾经发出过以下命令 作曲家信息 behat/behat -a 但仍然无济于事。

基本上,每当您陷入这种依赖性噩梦时,强烈建议您使所需的版本 特定 而不是使用通配符。换句话说:给 Composer 更少的想象空间。

这就是我为让它发挥作用所做的工作:

1。猜猜哪个最合适

Laravel 5.3 是 released back in September 9, 2016, going over the Behat releases, the first major release before that was 3.1.0,它于 2016 年 3 月 28 日发布。所以这是我直接 放入 Composer 的第一个版本(即没有任何通配符等)像这样:

"behat/behat": "3.1.0",

2。 运行 没有任何附加条件的东西

之后,我只是 运行 以下内容:

  • composer dump-autoload: 清理缓存
  • rm -rf vendorrm 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