【问题标题】:How to install an older version of PHPUnit through PEAR?如何通过 PEAR 安装旧版本的 PHPUnit?
【发布时间】:2010-12-06 20:12:49
【问题描述】:

我想将我安装的 PHPUnit 3.4 降级到 3.3。我只是不知道该怎么做。

如何使用 PEAR 在 Ubuntu 上安装 PHPUnit 3.3 版?

【问题讨论】:

    标签: php phpunit pear


    【解决方案1】:

    您需要知道要降级到的确切版本号。在撰写本文时,您关注的最后一个版本是 3.3.17,可以通过checking 相应的 PEAR 频道找到。

    要降级到该特定版本,请执行两个命令:

    • pear uninstall phpunit/PHPUnit
    • pear install phpunit/PHPUnit-3.3.17

    【讨论】:

    • 正是我所需要的。谢谢!
    • PHPUnit 3.3 需要什么版本的 PHP?你是怎么找到的?
    • 我收到消息:'没有可用于包“pear.phpunit.de/PHPUnit”的版本',该怎么办?
    • 谢谢老兄,这太棒了。
    【解决方案2】:

    请注意,如果您希望从 3.6.x 版本降级到 3.5.15(最终稳定的 3.x 版本),则需要卸载,然后手动重新安装几个依赖项。否则 pear 只会强制安装最新版本的 PHPUnit。

    方法如下:

    (来自 Dusty Reagan 博客的原始说明:http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/。复制到 SO,以防原始链接因某种原因失效。)

    首先您需要卸载 PHPUnit 3.6 及其所有依赖项。

    sudo pear uninstall phpunit/PHPUnit
    sudo pear uninstall phpunit/DbUnit
    sudo pear uninstall phpunit/PHP_CodeCoverage
    sudo pear uninstall phpunit/File_Iterator
    sudo pear uninstall phpunit/PHPUnit_MockObject
    sudo pear uninstall phpunit/Text_Template
    sudo pear uninstall phpunit/PHP_Timer
    sudo pear uninstall phpunit/PHPUnit_Selenium
    sudo pear uninstall pear.symfony-project.com/YAML
    

    接下来安装每个依赖项的这些特定版本,按此顺序,最后安装 PHPUnit-3.5.15。

    sudo pear install pear.symfony-project.com/YAML-1.0.2
    sudo pear install phpunit/PHPUnit_Selenium-1.0.1
    sudo pear install phpunit/Text_Template-1.0.0
    sudo pear install phpunit/PHPUnit_MockObject-1.0.3
    sudo pear install phpunit/PHP_Timer-1.0.0
    sudo pear install phpunit/File_Iterator-1.2.3
    sudo pear install phpunit/PHP_CodeCoverage-1.0.2
    sudo pear install phpunit/DbUnit-1.0.0
    sudo pear install phpunit/PHPUnit-3.5.15
    

    注意:您可能需要为 PHP_CodeCoverage 添加频道,这对于 PHPUnit 3.6 似乎不是强制性的

    sudo pear channel-discover components.ez.no
    sudo pear install channel://components.ez.no/ConsoleTools-1.6
    

    【讨论】:

    • 正如@Maxence 在对另一个答案的评论中提到的那样,如果您在开始尝试安装 pear.symfony-project.com/YAML- 时收到消息“没有可用于包的版本...” 1.0.2,你应该运行pear clear-cache
    【解决方案3】:

    如果您收到错误Fatal error: Class 'PHP_Token_Stream' not found in /usr/share/pear/PHP/Token/Stream/CachingFactory.php on line 68,则需要使用以下顺序,以便获得正确版本的 PHP_TokenStream:

    pear uninstall phpunit/PHPUnit
    pear uninstall phpunit/DbUnit
    pear uninstall phpunit/PHP_CodeCoverage
    pear uninstall phpunit/PHP_TokenStream
    pear uninstall phpunit/File_Iterator
    pear uninstall phpunit/PHP_Timer
    pear uninstall phpunit/PHPUnit_MockObject
    pear uninstall phpunit/Text_Template
    pear uninstall phpunit/PHPUnit_Selenium
    pear uninstall pear.symfony-project.com/YAML
    
    
    pear install pear.symfony-project.com/YAML-1.0.2
    pear install phpunit/PHPUnit_Selenium-1.0.1
    pear install phpunit/Text_Template-1.0.0
    pear install phpunit/PHPUnit_MockObject-1.0.3
    pear install phpunit/PHP_Timer-1.0.0
    pear install phpunit/File_Iterator-1.2.3
    pear install phpunit/PHP_TokenStream-1.0.1
    pear install phpunit/PHP_CodeCoverage-1.0.2
    pear install phpunit/DbUnit-1.0.0
    pear install phpunit/PHPUnit-3.5.15
    

    【讨论】:

      【解决方案4】:

      我不知道单独使用 PEAR 是否总是可行的。

      当我之前必须降级软件包时,频道中不再提供旧版本。我卸载了我想降级的包,下载了旧版本,从下载的文件中安装。

      【讨论】:

        【解决方案5】:

        关于从 3.6.x 降级到 3.5.15,按以下顺序对我来说效果很好:

        卸载 3.6

        sudo pear uninstall phpunit/PHPUnit_Selenium
        sudo pear uninstall phpunit/PHPUnit
        sudo pear uninstall phpunit/DbUnit
        sudo pear uninstall phpunit/PHP_CodeCoverage
        sudo pear uninstall phpunit/PHP_Iterator
        sudo pear uninstall phpunit/PHPUnit_MockObject
        sudo pear uninstall phpunit/Text_Template
        sudo pear uninstall phpunit/PHP_Timer
        sudo pear uninstall phpunit/File_Iterator
        sudo pear uninstall pear.symfony-project.com/YAML
        

        安装 3.5.15

        sudo pear install pear.symfony-project.com/YAML-1.0.2
        sudo pear install phpunit/PHPUnit_Selenium-1.0.1
        sudo pear install phpunit/PHP_Timer-1.0.0
        sudo pear install phpunit/Text_Template-1.0.0
        sudo pear install phpunit/PHPUnit_MockObject-1.0.3
        sudo pear install phpunit/File_Iterator-1.2.3
        sudo pear install phpunit/PHP_CodeCoverage-1.0.2
        sudo pear install phpunit/DbUnit-1.0.0
        sudo pear install phpunit/PHPUnit-3.5.15
        

        我找到了解决方案HERE

        【讨论】:

          猜你喜欢
          • 2011-09-10
          • 2011-01-01
          • 2013-04-03
          • 2016-05-31
          • 2014-12-25
          • 2012-02-29
          • 2013-02-26
          • 2011-07-15
          • 2016-04-19
          相关资源
          最近更新 更多