composer-php - composer 只能安装以下之一:symfony/console
问题描述
我正在尝试从 laravel 5.1 升级到 5.3。尝试运行 composer update 时,没有说我正在尝试安装多个版本的 symfony/console。部分错误如下
Can only install one of: symfony/console[v3.1.0-BETA1, v2.8.9].
- Can only install one of: symfony/console[v3.1.0-BETA1, 2.7.x-dev].
- laravel/framework v5.3.0-RC1 requires symfony/console 3.1.* -> satisfiable by symfony/console[3.1.x-dev, v3.1.0, v3.1.0-BETA1, v3.1.0-RC1, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9].
- Conclusion: don't install peridot-php/peridot 1.16.0|don't install symfony/console 3.1.x-dev
- Conclusion: don't install peridot-php/peridot 1.16.0|don't install symfony/console v3.1.10
peridot-php/peridot 1.16.0 requires symfony/console ~2.0 -> satisfiable by symfony/console[2.7.x-dev, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.0.x-dev
laravel 5.3 需要 symfony/console 3.1.*,但 peridot 的要求是 "symfony/console": "^2|^3"
我可能会误解某些东西,但 ^2|^3 是否意味着 2.* 或 3.* 会满足要求?
我的 composer.json
{
"name": "project/name",
"description": "description",
"type": "project",
"require": {
"laravel/framework": "5.3.*",
"doctrine/orm": "2.5.*@dev",
"doctrine/collections": "1.2",
"laracasts/flash": "~1.3",
"symfony/yaml": "2.5.*@dev",
"phpoffice/phpexcel": "dev-develop",
"peridot-php/peridot": "1.16.0",
"respect/validation": "0.8.*@dev",
"filp/whoops": "1.*@dev",
"davejamesmiller/laravel-breadcrumbs": "3.0.*",
"facebook/webdriver": "1.0.1",
"katzgrau/klogger": "dev-master",
"laravel-doctrine/orm": "1.2.*",
"laravelcollective/html": "5.3.*",
"laravel-doctrine/extensions": "1.0.x-dev",
"rdlowrey/auryn": "dev-master",
"paragonie/random-lib": "^2.1@dev",
"consolibyte/quickbooks": "3.4.*",
"phpmailer/phpmailer": "dev-master",
"defuse/php-encryption": "dev-master",
"gedmo/doctrine-extensions": "2.4.1"
},
"require-dev": {
"peridot-php/peridot-jumpstart": "~1.0",
"peridot-php/peridot-prophecy-plugin": "~1.0",
"satooshi/php-coveralls": "~0.6.1",
"peridot-php/peridot-watcher-plugin": "~1.3",
"fzaninotto/faker": "1.5.*",
"symfony/dom-crawler": "~3.1",
"symfony/css-selector": "~3.1"
},
"autoload": {
"classmap": [
"database",
"src",
"tests/unit"
],
"psr-4": {
"App\\": "app/",
"OS\\":"src/"
}
},
"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 -r \"copy('.env.example', '.env');\"",
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "dev"
}
解决方案
您的错误消息表明peridot-php/peridot
您需要的包 v1.16 仅适用symfony/console
于 version ~2.0
,它等效于任何 2.x 版本,因此与symfony/console
Laravel 所需的 3.x 版本不兼容。
peridot-php/peridot
支持3.x 的第一个版本symfony/console
是 1.18.1,因此您需要将依赖项提升到该版本才能正确支持 Symfony Console 3.x。
推荐阅读
- java - java.io.IOException:流已关闭!ADLS Gen 2 中的 HDInsight 错误
- entity-framework - 实体框架嵌套查询
- asp.net-mvc - MVC 问题与在第三个中实现的 2 个不同 SQL 表中的级联下拉列表
- split - 拆分字符串并隐蔽浮动
- ios - SwiftUI - 更新父视图的状态时如何保留子视图的状态?
- json - 在不使用数据库的情况下为项目保存数据的最佳方法是什么?
- ios - Xcode 11.5 存档构建失败颤动
- r - 使用双循环创建数据框
- laravel - Eloquent:连接语句中的列不正确
- javascript - 如何将 Django 模板变量传递给 JavaScript 函数