不能要求与作曲家的laravel /护照

Mat*_*t D 4 php laravel composer-php laravel-5

当我这样做时composer require laravel/passport,我明白了

使用版本^ 5.0进行laravel/passport ./composer.json已更新使用包信息加载composer存储库更新依赖项(包括require-dev)无法将您的需求解析为可安装的软件包集.

问题1 - laravel/passport ^ 5.0的安装请求 - > laravel/passport [v5.0.0]可满足. - 结论:删除laravel/framework v5.5.34 - 结论:不要安装laravel/framework v5.5.34 - laravel/passport v5.0.0要求照亮/加密~5.6 - >可满足照明/加密[v5.6.0,v5. 6.1,v5.6.2,v5.6.3]. - 不要安装illuminate/encryption v5.6.0 |不要安装laravel/framework v5.5.34 - 不要安装illuminate/encryption v5.6.1 |不要安装laravel/framework v5.5.34 - 不要安装照明/ encryption v5.6.2 |不安装laravel/framework v5.5.34 - 不安装illuminate/encryption v5.6.3 |不安装laravel/framework v5.5.34 - laravel/framework的安装请求(锁定在v5. 5.34,要求为5.5.*) - > laravel/framework [v5.5.34]可满足.

安装失败,将./composer.json恢复为原始内容.

我认为这意味着我的版本illuminate/encryption与此版本不兼容laravel/passport

那是对的吗?解决这个问题的最佳方法是什么?我甚至无法弄清楚如何看到我的版本illuminate/encryption.它没有显示出来composer show.

这是我的composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.0.0",
        "fideloper/proxy": "~3.3",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "tymon/jwt-auth": "dev-develop"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 9

Passport 5.0取决于Illuminate软件包的5.6版本.我可以看到你安装了Laravel 5.5,所以要么将Laravel升级到5.6,要么使用Passport的4.0分支.

Passport存储库中的"require"部分composer.json已全部指定:

"require": {
    "php": ">=7.0",
    "firebase/php-jwt": "~3.0|~4.0|~5.0",
    "guzzlehttp/guzzle": "~6.0",
    "illuminate/auth": "~5.6",
    "illuminate/console": "~5.6",
    "illuminate/container": "~5.6",
    "illuminate/contracts": "~5.6",
    "illuminate/database": "~5.6",
    "illuminate/encryption": "~5.6",
    "illuminate/http": "~5.6",
    "illuminate/support": "~5.6",
    "league/oauth2-server": "^6.0",
    "phpseclib/phpseclib": "^2.0",
    "symfony/psr-http-message-bridge": "~1.0",
    "zendframework/zend-diactoros": "~1.0"
},
Run Code Online (Sandbox Code Playgroud)

Illuminate版本号线向上与框架,所以Laravel 5.6将使用照亮5.6,5.5将使用照亮5.5等.

请参阅:升级指南 - 从5.5升级到5.6.0.