我如何解决“您的要求无法解析为可安装的软件包集”错误?

35 浏览
0 Comments

我如何解决“您的要求无法解析为可安装的软件包集”错误?

当我运行composer update时,收到了一些奇怪的输出。

\"enter

这是我的composer.json文件的样子。

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.", "keywords": ["framework", "laravel"],
    "license": "MIT",
    "repositories": [{
        "type": "vcs",
        "url": "https://github.com/Zizaco/ardent.git"
    }],
    "require-dev": {
        "phpunit/phpunit": "4.3.*"
    },
    "require": {
        "laravel/framework": "4.2.*", 
        "laravelbook/ardent": "dev-master as 2.4.0", 
        "zizaco/entrust": "dev-master", 
        "sebklaus/profiler": "dev-master", 
        "doctrine/dbal": "dev-master"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations", "app/database/seeds", "app/tests",
            "app/libraries"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled", 
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled", 
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "stable"
}

我该如何修复它?

admin 更改状态以发布 2023年5月23日
0
0 Comments

您的软件依赖与版本存在不兼容的冲突。

与此同时,您希望安装任何Laravel 4.2.x版本以及从其主分支中的"zizaco/entrust"。而该主分支至少需要Laravel 5.0(粗略地说)。

问题来自于对分支的依赖。很可能,包zizaco/entrust曾经在其主分支中使用Laravel 4.2,并且您能够在那一天安装您的依赖项。但是,一旦这个分支被更新到一个不兼容的版本要求,您将永远不能运行composer update并获得更新的依赖项。

始终使用标记的版本!理想情况下,您使用一个宽松的版本要求,允许兼容的更新。这应该表示为一个波浪线两个数字版本要求:~1.2 将安装版本1.2.0及以上版本(如1.2.99或1.2.100),而且也会安装1.3及以上。如果需要特定的补丁版本:脱字符三个数字版本^1.2.10将安装1.2.10或更高版本,也可安装1.3及以上。

使用这个版本要求而不是dev-master将允许您使用发布的版本而不是主分支中的不稳定状态,并允许您使用最新的版本,仍可与Laravel 4.2一起使用。我猜这将是zizaco/entrust版本1.3.0,但版本1.2也可以。使用 "zizaco/entrust": "~1.2"

0
0 Comments

运行以下命令:

composer install --ignore-platform-reqs

或者

composer update --ignore-platform-reqs

Composer ignore-platform-reqs标志解释

0