繁体   English   中英

作曲家更新:您的要求无法解决为一组可安装的软件包

[英]composer update: Your requirements could not be resolved to an installable set of packages

我正在尝试从laravel 5.5升级到5.6。 我一直在使用升级指南

首先,我试图更新laravel/framework5.6.*phpunit/phpunit~7.0

这将产生错误Your requirements could not be resolved to an installable set of packages.

我理解这意味着什么,但是错误日志确实很难解析,并且我已经尝试了几个小时,将composer.json文件更改为一组可安装的软件包。
我没有自己解决这个问题,所以我来找你。 也许有些人实际上喜欢解决这些问题...

因此,我目前的composer.json所有荣耀:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.1",
        "laravel/framework": "5.6.*",
        "jenssegers/rollbar": "^1.4",
        "doctrine/dbal": "~2.3",
        "sensiolabs/security-checker": "^3.0",
        "guzzlehttp/guzzle": "~6.0",
        "mandrill/mandrill": "1.0.*",
        "lcobucci/jwt" : "^3.1",
        "predis/predis": "~1.0"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~7.0",
        "phpspec/phpspec": "~4.0",
        "laravel/homestead" : "~4.0",
        "symfony/dom-crawler": "3.1.*",
        "symfony/css-selector": "3.1.*",
        "filp/whoops": "~2.0"
    }
}

和当前错误:

➔ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laravel/framework v5.6.15
    - Conclusion: don't install laravel/framework v5.6.14
    - Conclusion: don't install symfony/process v4.0.7
    - Conclusion: don't install laravel/framework v5.6.13
    - Conclusion: don't install symfony/process v4.0.6
    - Conclusion: don't install symfony/process v4.0.5
    - Conclusion: don't install symfony/process v4.0.4
    - Conclusion: don't install symfony/process v4.0.3
    - Conclusion: don't install symfony/process v4.0.2
    - Installation request for laravel/homestead ~4.0 -> satisfiable by laravel/homestead[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5].
    - Conclusion: don't install symfony/process v4.0.1
    - laravel/framework v5.6.0 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.1 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.10 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.11 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.12 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.2 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.3 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.4 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.5 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.6 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.7 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.8 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - laravel/framework v5.6.9 requires symfony/process ~4.0 -> satisfiable by symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7].
    - Conclusion: don't install symfony/process v4.0.0
    - Installation request for laravel/framework 5.6.* -> satisfiable by laravel/framework[v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.2, v5.6.3, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9].

我真的希望有人能够破译作曲家在这里的意思。 我也希望自己也能做到这一点,但是似乎同一问题的所有其他解决方案实际上仅是针对 composer.json ,而不是一个通用的答案。

对于这种情况,我必须执行以下操作:

  • 我将php更新为^7.1.3
  • sensiolabs/security-checker^4.1
  • phpspec~4.0
  • laravel/homestead~7.3
  • symfony/dom-crawlersymfony/css-selector^4.0
  • 删除对composer optimize引用,因为该引用现已被删除
  • 停止使用configureMonologUsing(...)并为Rollbar创建自定义记录器类。

感谢您在评论中提供的所有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM