php - Composer - 由于照亮/支持版本不同而导致照亮/redis安装失败

标签 php redis composer-php lumen predis

我为一个新项目创建了全新的 Lumen 安装,并且我正在尝试将 Redis 设置为缓存/ session 驱动程序。通过 Composer ,我能够毫无问题地安装 Predis,然后在尝试运行时:

composer require illuminate/redis

我收到此错误,这告诉我 Composer 很困惑,因为不同的库要求不同版本的 Illuminate/support,正如我从 this question 中了解到的那样:

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

  Problem 1
    - Can only install one of: illuminate/support[v5.2.0, v5.1.25].
    - Can only install one of: illuminate/support[v5.2.0, v5.1.25].
    - Can only install one of: illuminate/support[v5.2.0, v5.1.25].
    - illuminate/redis v5.2.0 requires illuminate/support 5.2.* -> satisfiable by illuminate/support[v5.2.0].
    - Installation request for illuminate/redis ^5.2 -> satisfiable by illuminate/redis[v5.2.0].
    - Installation request for illuminate/support == 5.1.25.0 -> satisfiable by illuminate/support[v5.1.25].


Installation failed, reverting ./composer.json to its original content.

下面是我的composer.json,它非常基本:

{
    "name": "laravel/lumen",
    "description": "The Laravel Lumen Framework.",
    "keywords": ["framework", "laravel", "lumen"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/lumen-framework": "5.1.*",
        "vlucas/phpdotenv": "~1.0",
        "predis/predis": "^1.0"
    },
    "require-dev": {
        "phpunit/phpunit": "~4.0",
        "fzaninotto/faker": "~1.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/"
        ]
    },
    "autoload-dev": {
        "classmap": [
            "tests/"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

我的问题是,我做错了什么? ,上面链接的问题建议手动更改来解决此问题。但我相信设置是如此基本,我应该在这里做错什么。

最佳答案

我必须使用所需版本的 Illuminate/redis 编辑 composer.json 文件;强制它使用相同的版本,如下所示:

{
    "name": "laravel/lumen",
    "description": "The Laravel Lumen Framework.",
    "keywords": ["framework", "laravel", "lumen"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/lumen-framework": "5.1.*",
        "vlucas/phpdotenv": "~1.0",
        "predis/predis": "^1.0",
        "illuminate/redis" : "5.1.*"
    },
    "require-dev": {
        "phpunit/phpunit": "~4.0",
        "fzaninotto/faker": "~1.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/"
        ]
    },
    "autoload-dev": {
        "classmap": [
            "tests/"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

关于php - Composer - 由于照亮/支持版本不同而导致照亮/redis安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34443492/

相关文章:

php - 在 javascript 中执行 php 脚本?

javascript - 未正确显示引号

php - fatal error : Uncaught SoapFault exception: [ns1:Client. AUTH_1] 身份验证失败

PHP PDO : charset, 设置名称?

symfony - Composer 找不到我安装的包

mysql - PHP 嵌套循环 - 根据每周可用时间获取生产订单准备日期

redis - Redis 重复订阅同一个 channel 名的效果

python - celery 、Redis 和连接池

redis - 有没有更好的方法来实现 redis "rpushnx"功能?

php - Laravel 无法修改排队的作业代码