如何通过PEAR安装旧版本的PHPUnit?

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

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

您需要知道您想要降级的确切版本号。 在写这篇文章的时候,最后一个版本是3.3.17,可以通过检查相应的PEAR通道find。

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

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

请注意,如果您希望从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 

如果你得到错误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 

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

之前我不得不降级软件包时,旧版本不再可用。 我卸载了我想降级的软件包,下载了旧版本,并从下载的文件中安装。

至于从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 

我在这里find了解决办法。