我想将PHPUnit 3.4的安装降级为3.3。我只是不确定该怎么做。
如何使用PEAR在Ubuntu上安装PHPUnit 3.3版?
答案 0 :(得分:51)
您需要知道要降级到的确切版本号。在撰写本文时,您所关注的最后一个版本是3.3.17,可以通过checking相应的PEAR频道找到。
要降级到该特定版本,请执行两个命令:
pear uninstall phpunit/PHPUnit
pear install phpunit/PHPUnit-3.3.17
答案 1 :(得分:22)
请注意,如果您希望从3.6.x版本降级到3.5.15(最终稳定的3.x版本),则需要卸载,然后手动重新安装多个依赖项。否则pear会强制安装最新版本的PHPUnit。
(来自Dusty Reagan博客的原始说明:http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/。如果原始链接由于某种原因而死亡,则复制到SO。)
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
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
答案 2 :(得分: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
答案 3 :(得分:1)
我不知道是否总是可以单独使用PEAR。
当我不得不降级包之前,旧版本在频道中不再可用。我卸载了我想要降级的软件包,下载了旧版本,并从下载的文件中安装。
答案 4 :(得分:0)
关于从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。