Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

Для перехода к этой конкретной версии выполните две команды:

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

Ответ 2

Обратите внимание, что если вы хотите перейти с версии 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

Ответ 3

Если вы получите сообщение об ошибке 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

Ответ 4

Я не знаю, возможно ли всегда использовать только PEAR.

Когда мне пришлось отказаться от пакета раньше, старая версия больше не была доступна в канале. Я удалил пакет, который захотел понизить, загрузил старую версию и установил из загруженного файла.

Ответ 5

Что касается понижения с 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

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