簡體   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