【问题标题】:Laravel Composer error while install sanctum: conflict with contracts安装 sanctum 时 Laravel Composer 错误:与合同冲突
【发布时间】:2021-07-06 20:39:45
【问题描述】:

我在 composer 安装 laravel sanctum 时遇到这个错误

您的要求无法解决为一组可安装的软件包。 问题 1 - laravel/sanctum[v2.9.0, ..., 2.x-dev] 需要照明/合同 ^6.9|^7.0|^8.0 -> 找到照明/合同[v6.10.0, ..., 6.x-开发,v7.0.0,...,7.x-dev,v8.0.0,...,8.x-dev] 但这些没有加载,可能是因为它与另一个需求冲突。 - 根 composer.json 需要 laravel/sanctum ^2.9 -> 可由 laravel/sanctum[v2.9.0, ..., 2.x-dev] 满足。

我尝试通过

安装 laravel 合约
composer require illuminate/contracts

但得到这个错误

您的需求无法解决为一组可安装的软件包。

问题 1 - 根 composer.json 需要Illumination/contracts ^8.36,找到了Illumination/contracts[v8.36.0, v8.36.1, v8.36.2, 8.x-dev] 但这些没有加载,可能是因为它与 另一个要求。

作曲家.json

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
    "framework",
    "laravel"
],
"license": "MIT",
"require": {
    "php": "^7.1.3",
    "darkaonline/l5-swagger": "5.8.*",
    "fideloper/proxy": "^4.0",
    "fruitcake/laravel-cors": "^2.0",
    "iatstuti/laravel-cascade-soft-deletes": "1.0.*",
    "laravel/framework": "5.8.*",
    "laravel/tinker": "^1.0",
    "laravelcollective/html": "^5.2.0",
    "morilog/jalali": "3.*",
    "niklasravnsborg/laravel-pdf": "^3.1",
    "nwidart/laravel-modules": "^5.1",
    "predis/predis": "^1.1",
    "shetabit/payment": "^2.1",
    "ext-json": "*"
},
"require-dev": {
    "beyondcode/laravel-dump-server": "^1.0",
    "filp/whoops": "^2.0",
    "fzaninotto/faker": "^1.4",
    "mockery/mockery": "^1.0",
    "nunomaduro/collision": "^3.0",
    "phpunit/phpunit": "^7.5"
},
"config": {
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true
},
"extra": {
    "laravel": {
    "dont-discover": []
    }
},
"autoload": {
    "psr-4": {
    "App\\": "app/",
    "Modules\\": "Modules/"
    },
    "classmap": [
    "database/seeds",
    "database/factories"
    ]
},
"autoload-dev": {
    "psr-4": {
    "Tests\\": "tests/"
    }
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
    "post-autoload-dump": [
    "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
    "@php artisan package:discover --ansi"
    ],
    "post-root-package-install": [
    "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
    "@php artisan key:generate --ansi"
    ]
}
}

【问题讨论】:

  • 在这里向我们展示您的 composer.json 文件。是否还有其他错误(问题)。
  • 请分享更多细节。 composer why-not illuminate/contracts 8.36.2 打印什么?
  • @NicoHaase 我添加了 composer.json

标签: laravel composer-php


【解决方案1】:

laravel/framework 固定在 v5.8 上,laravel/sanctum 不兼容。它至少需要 Laravel v6

【讨论】:

    【解决方案2】:

    你使用的是不支持laravel/sanctum的laravel版本 "laravel/framework": "5.8.*"

    按照指南enter link description here 尝试将您的项目至少升级到laravel/framework": "7.0.*

    然后运行$composer update

    【讨论】:

    • 请不要重复已有的答案,除非你想添加新的东西
    【解决方案3】:

    您需要兼容版本的 'illuminate/contracts' 并且显然这个包存在于您的项目中。 检查 'composer.json' 文件并修复 'illuminate/contracts' 适合 'laravel/sanctum' 和 laravel 版本。

    【讨论】:

    • 请分享更多细节 - 究竟应该做什么?正如第二条错误消息所说,illuminate/contracts 无法安装
    猜你喜欢
    • 2022-08-05
    • 1970-01-01
    • 2013-05-03
    • 2014-12-07
    • 2017-01-12
    • 2021-04-20
    • 2021-05-27
    • 2018-10-29
    • 2017-07-13
    相关资源
    最近更新 更多