【问题标题】:How do I install PHPUnit 3.5, instead of 3.6?如何安装 PHPUnit 3.5 而不是 3.6?
【发布时间】:2011-12-18 21:53:50
【问题描述】:

PHPUnit 的当前版本是 3.6,但在我更新代码之前,我需要改用 3.5.15。我在尝试安装 3.5.15 时遇到了很多麻烦。

我从 Zend Server 的全新安装开始,它只安装了几个基本的 PEAR 包。我发现 pear.phpunit.de 和 pear.symfony-project.com。然后我尝试从一个 URL 安装 3.5.15,但它失败了:

# pear install http://pear.phpunit.de/get/PHPUnit-3.5.15.tgz
downloading PHPUnit-3.5.15.tgz ...
Duplicate package channel://pear.phpunit.de/PHPUnit-3.5.15 found
Duplicate package channel://pear.phpunit.de/PHPUnit-3.6.0 found
install failed

接下来,我尝试从下载的文件安装,但同样失败:

# pear install ~/Desktop/PHPUnit-3.5.15.tgz 
Duplicate package channel://pear.phpunit.de/PHPUnit-3.5.15 found
Duplicate package channel://pear.phpunit.de/PHPUnit-3.6.0 found
install failed

然后直接从 PEAR ...安装 3.6 而不是我要求的!

# pear install phpunit/PHPUnit-3.5.15
phpunit/PHPUnit can optionally use package "pear/XML_RPC2"
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/DbUnit requires package "phpunit/PHPUnit" (version >= 3.6.0), downloaded version is 3.5.15
phpunit/PHPUnit requires package "phpunit/DbUnit" (version >= 1.0.0)
phpunit/PHPUnit can optionally use package "phpunit/PHP_Invoker" (version >= 1.0.0)
downloading File_Iterator-1.3.0.tgz ...
downloading Text_Template-1.1.1.tgz ...
downloading PHP_CodeCoverage-1.1.0.tgz ...
downloading PHP_Timer-1.0.2.tgz ...
downloading PHPUnit_MockObject-1.1.0.tgz ...
downloading PHPUnit_Selenium-1.1.0.tgz ...
downloading YAML-1.0.6.tgz ...
downloading PHPUnit-3.6.0.tgz ...
downloading PHP_TokenStream-1.1.0.tgz ...
install ok: channel://pear.phpunit.de/File_Iterator-1.3.0
install ok: channel://pear.phpunit.de/Text_Template-1.1.1
install ok: channel://pear.phpunit.de/PHP_Timer-1.0.2
install ok: channel://pear.symfony-project.com/YAML-1.0.6
install ok: channel://pear.phpunit.de/PHP_TokenStream-1.1.0
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.1.0
install ok: channel://pear.phpunit.de/PHPUnit_MockObject-1.1.0
install ok: channel://pear.phpunit.de/PHPUnit-3.6.0
install ok: channel://pear.phpunit.de/PHPUnit_Selenium-1.1.0

即使使用 -f 选项,尝试强制安装我要求的版本,也不会改变任何内容。

如何安装 3.5.15?

【问题讨论】:

  • 我部分地想通了。 PHPUnit-3.5.15 需要 DbUnit,但最新版本的 DbUnit (1.1.0) 需要 PHPUnit-3.6。所以这就是为什么当我安装 PHPUnit 3.5.15 时,会安装 3.6。我通过专门安装 DbUnit-1.0.3 解决了这个问题。

标签: phpunit pear


【解决方案1】:

要让 Pear 不强制安装 PHPUnit 3.6,您必须处理很多依赖项。这是我为安装 PHPUnit 3.5.15 所做的:http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/

【讨论】:

    【解决方案2】:

    PHPUnit-3.5.15 需要 DbUnit,但最新版本的 DbUnit (1.1.0) 需要 PHPUnit-3.6。所以这就是为什么当我安装 PHPUnit 3.5.15 时,会安装 3.6。我通过专门安装 DbUnit-1.0.3 解决了这个问题。

    我会接受我自己的答案,但这不是一个完整的答案 - 尝试安装 PHPUnit 3.5 会导致安装一个模块,然后强制安装 PHPUnit 3.6,这似乎不正确。这看起来像是包装问题,但我不知道在哪里报告。

    【讨论】:

      【解决方案3】:

      我无法在 Ubuntu 上正确安装 PHPUnit

      我现在正在安装 widnows 7 听从这里的建议 http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/

      并抽象它 :) 现在希望我能够安装在 ubuntu也是

      --

      它现在已经安装了正确的 phpunit 版本。

      【讨论】:

        【解决方案4】:

        从未回答的列表中获取问题:


        PHPUnit-3.5.15 需要 DbUnit,但最新版本的 DbUnit (1.1.0) 需要 PHPUnit-3.6。

        这就是为什么,当我安装 PHPUnit 3.5.15 时,会安装 3.6。我通过专门安装 DbUnit-1.0.3 解决了这个问题

        【讨论】:

          【解决方案5】:

          【讨论】:

            【解决方案6】:

            通过 composer 安装它:

            {
                ...
                "repositories": [
                    {
                        "type": "pear",
                        "url": "pear.symfony-project.com"
                    },
                    {
                        "type": "pear",
                        "url": "pear.phpunit.de"
                    }
                ],
                "require-dev": {
                    "pear-pear.phpunit.de/phpunit": "3.5.15",
                    "pear-pear.phpunit.de/PHP_CodeCoverage": "1.0.*",
                    "pear-pear.phpunit.de/File_Iterator": "1.2.3"
                }
            }
            

            【讨论】:

            • 在我最初提出这个问题的时候,Composer 还没有发布。
            猜你喜欢
            • 1970-01-01
            • 2018-03-30
            • 1970-01-01
            • 1970-01-01
            • 2017-09-30
            • 2018-07-30
            • 1970-01-01
            • 2017-07-30
            • 2017-05-10
            相关资源
            最近更新 更多