繁体   English   中英

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

[英]How to install an older version of PHPUnit through PEAR?

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

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

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

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

  • 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

我在这里找到了解决方案。

暂无
暂无

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

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