我如何解决“您的要求无法解析为可安装的软件包集”错误?
我如何解决“您的要求无法解析为可安装的软件包集”错误?
当我运行composer update
时,收到了一些奇怪的输出。
这是我的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日
您的软件依赖与版本存在不兼容的冲突。
与此同时,您希望安装任何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"
。
运行以下命令:
composer install --ignore-platform-reqs
或者
composer update --ignore-platform-reqs