Как установить более старую версию PHPUnit через PEAR?

Я хотел бы понизить мою установку PHPUnit 3.4 до 3.3. Я просто не знаю, как это сделать.

Как установить версию 3.3 PHPUnit на Ubuntu с помощью PEAR?

Вам нужно знать точный номер версии, к которой вы хотите перейти. На момент написания последней последней версии вы можете узнать 3.3.17, что можно узнать, проверив соответствующий канал PEAR.

Чтобы перейти на эту версию, выполните две команды:

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

Обратите внимание, что если вы хотите перейти с версии 3.6.x до версии 3.5.15 (окончательный стабильный выпуск 3.x), вам необходимо удалить, а затем переустановить несколько зависимостей вручную. В противном случае груша просто заставит установить последнюю версию 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 

Я нашел решение ЗДЕСЬ .