【问题标题】:Unable to install phpunit ,Conclusion: don't install phpunit/phpunit 6.5.8无法安装phpunit,结论:不要安装phpunit/phpunit 6.5.8
【发布时间】:2018-10-09 02:31:39
【问题描述】:

我在 Windows 10 上的 vagrant 设置中安装了 php 7.0.29 版本。

当我运行以下命令时

composer require --dev phpunit/phpunit

我收到上述错误

Using version ^6.5 for phpunit/phpunit
./composer.json has been updated
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 phpunit/phpunit 6.5.8
    - Conclusion: don't install phpunit/phpunit 6.5.7
    - Conclusion: don't install phpunit/phpunit 6.5.6
    - Conclusion: don't install phpunit/phpunit 6.5.5
    - Conclusion: don't install phpunit/phpunit 6.5.4
    - Conclusion: don't install phpunit/phpunit 6.5.3
    - Conclusion: don't install phpunit/phpunit 6.5.2
    - Conclusion: don't install phpunit/phpunit 6.5.1
    - phpunit/dbunit 2.0.3 conflicts with phpunit/phpunit[6.5.0].
    - phpunit/phpunit 6.5.0 conflicts with phpunit/dbunit[2.0.3].
    - phpunit/phpunit 6.5.0 conflicts with phpunit/dbunit[2.0.3].
    - Installation request for phpunit/phpunit ^6.5 -> satisfiable by phpunit/phpunit[6.5.0, 6.5.1, 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.5.6, 6.5.7, 6.5.8].
    - Installation request for phpunit/dbunit (locked at 2.0.3, required as ^2.0) -> satisfiable by phpunit/dbunit[2.0.3].

我的 composer.json 文件有以下代码

{
    "name": "tsawler/acme",
    "authors": [
        {
            "name": "xyz",
            "email": "xyz@example.com"
        }
    ],
    "require": {
        "filp/whoops": "2.0.*",
        "vlucas/phpdotenv": "~1.1",
        "illuminate/database": "5.1.*",
        "altorouter/altorouter": "1.1.0",
        "respect/validation": "~1.0",
        "duncan3dc/blade": "2.2.*",
        "robmorgan/phinx": "^0.4.5",
        "symfony/var-dumper": "^2.7",
        "cocur/slugify": "^1.2",
        "swiftmailer/swiftmailer": "^5.4",
        "kunststube/csrfp": "^0.1.0",
        "sunra/php-simple-html-dom-parser": "v1.5.0",
        "rdlowrey/auryn": "1.1.*",
        "fabpot/goutte": "^3.1"
    },
    "autoload": {
      "psr-4": { "Acme\\": "src/" }
    },
    "require-dev": {
        "phpunit/phpunit": "^5.1",
        "phpunit/php-invoker": "^1.1",
        "phpunit/dbunit": "^2.0"
    }
}

我该如何解决?

【问题讨论】:

  • 要么检查 PHP 7.0 是否足以满足此存储库要求,如果是,请尝试删除 composer.lock 文件并重新安装。
  • @hakre 我删除了 composer.lock 文件并再次尝试,但没有帮助
  • 那么看起来你需要的包不兼容。有什么特别需要这些版本的吗?
  • @hakre 我认为我不需要特定版本。我正在学习一个教程,并且第一次使用 php 单元和作曲家。你有什么建议可以解决这个问题吗?
  • 请分享您的composer.json的全部内容。

标签: php phpunit composer-php dbunit


【解决方案1】:
  • 我在尝试通过再次要求升级我的 phpunit 时遇到此错误。我的解决方案是卸载 phpunit 并重新安装:

          $ composer remove phpunit/phpunit --dev
          $ composer require phpunit/phpunit --dev
    

【讨论】:

  • 对不起,让我试着改进我的答案
【解决方案2】:

您需要旧版本的:

"phpunit/php-invoker": "^1.1",
"phpunit/dbunit": "^2.0"

然而 phpunit 需要这些依赖项的更新版本,因为它在这里告诉您:

- phpunit/dbunit 2.0.3 conflicts with phpunit/phpunit[6.5.0].
- phpunit/phpunit 6.5.0 conflicts with phpunit/dbunit[2.0.3].
- phpunit/phpunit 6.5.0 conflicts with phpunit/dbunit[2.0.3]

只需要phpunit/phpunit,而是让composer处理它的依赖而不是要求每个依赖。

【讨论】:

  • 我会尽力告知
  • 我删除了 "phpunit/php-invoker": "^1.1", "phpunit/dbunit": "^2.0" 但没有成功
【解决方案3】:

我也遇到了同样的问题。我做了

composer remove symfony/phpunit-bridge --dev

之后,我重新安装了它

composer require --dev symfony/phpunit-bridge

然后

php bin/phpunit

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 2017-06-22
    • 2017-11-10
    • 2017-12-22
    • 1970-01-01
    • 2011-09-10
    • 2011-09-29
    • 2011-09-07
    • 2010-11-24
    相关资源
    最近更新 更多