#phpunit #pear
#phpunit #pear
Вопрос:
Текущая версия PHPUnit — 3.6, но пока я не обновлю свой код, мне нужно использовать 3.5.15. У меня много проблем с установкой версии 3.5.15.
Я начинаю с чистой установки Zend Server, на котором установлено всего несколько базовых пакетов PEAR. I channel-discover pear.phpunit.de и pear.symfony-project.com . Затем я пытаюсь установить 3.5.15 с URL-адреса, но это не удается:
# pear install http://pear.phpunit.de/get/PHPUnit-3.5.15.tgz
downloading PHPUnit-3.5.15.tgz ...
Duplicate package channel://pear.phpunit.de/PHPUnit-3.5.15 found
Duplicate package channel://pear.phpunit.de/PHPUnit-3.6.0 found
install failed
Затем я пытаюсь установить из загруженного файла, но это также не удается:
# pear install ~/Desktop/PHPUnit-3.5.15.tgz
Duplicate package channel://pear.phpunit.de/PHPUnit-3.5.15 found
Duplicate package channel://pear.phpunit.de/PHPUnit-3.6.0 found
install failed
А затем напрямую из PEAR… который устанавливает 3.6 вместо того, что я просил!
# pear install phpunit/PHPUnit-3.5.15
phpunit/PHPUnit can optionally use package "pear/XML_RPC2"
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/DbUnit requires package "phpunit/PHPUnit" (version >= 3.6.0), downloaded version is 3.5.15
phpunit/PHPUnit requires package "phpunit/DbUnit" (version >= 1.0.0)
phpunit/PHPUnit can optionally use package "phpunit/PHP_Invoker" (version >= 1.0.0)
downloading File_Iterator-1.3.0.tgz ...
downloading Text_Template-1.1.1.tgz ...
downloading PHP_CodeCoverage-1.1.0.tgz ...
downloading PHP_Timer-1.0.2.tgz ...
downloading PHPUnit_MockObject-1.1.0.tgz ...
downloading PHPUnit_Selenium-1.1.0.tgz ...
downloading YAML-1.0.6.tgz ...
downloading PHPUnit-3.6.0.tgz ...
downloading PHP_TokenStream-1.1.0.tgz ...
install ok: channel://pear.phpunit.de/File_Iterator-1.3.0
install ok: channel://pear.phpunit.de/Text_Template-1.1.1
install ok: channel://pear.phpunit.de/PHP_Timer-1.0.2
install ok: channel://pear.symfony-project.com/YAML-1.0.6
install ok: channel://pear.phpunit.de/PHP_TokenStream-1.1.0
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.1.0
install ok: channel://pear.phpunit.de/PHPUnit_MockObject-1.1.0
install ok: channel://pear.phpunit.de/PHPUnit-3.6.0
install ok: channel://pear.phpunit.de/PHPUnit_Selenium-1.1.0
Даже использование опции -f для принудительной установки запрошенной мной версии ничего не меняет.
Как мне установить 3.5.15?
Комментарии:
1. Я понял это, частично. Для PHPUnit-3.5.15 требуется DBUnit, но для последней версии DBUnit (1.1.0) требуется PHPUnit-3.6. Вот почему, когда я установил PHPUnit 3.5.15, вместо него будет установлен 3.6. Я решил проблему, специально установив DBUnit-1.0.3.
Ответ №1:
Существует множество зависимостей, с которыми вам приходится иметь дело, чтобы Pear НЕ устанавливал PHPUnit 3.6 принудительно. Вот что я сделал, чтобы установить PHPUnit 3.5.15: http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15 /
Ответ №2:
Для PHPUnit-3.5.15 требуется DBUnit, но для последней версии DBUnit (1.1.0) требуется PHPUnit-3.6. Вот почему, когда я установил PHPUnit 3.5.15, вместо него будет установлен 3.6. Я решил проблему, специально установив DBUnit-1.0.3.
Я приму свой собственный ответ, но это не полный ответ — попытка установить PHPUnit 3.5 приводит к установке модуля, который затем принудительно устанавливает PHPUnit 3.6, и это не кажется правильным. Это похоже на проблему с упаковкой, но я не мог понять, куда сообщить об этом.
Ответ №3:
Я не смог правильно установить PHPUnit на Ubuntu
Теперь я устанавливаю widnows 7, следуя советам отсюда http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15 /
и абстрагирую его 🙂 теперь надеюсь, что я смогу установить и на ubuntu
—
Это сработало, теперь установлена правильная версия phpunit.
Ответ №4:
Чтобы получить вопрос из списка неотвеченных:
Для PHPUnit-3.5.15 требуется DBUnit, но для последней версии DBUnit (1.1.0) требуется PHPUnit-3.6.
Так вот почему, когда я установил PHPUnit 3.5.15, вместо него будет установлен 3.6. Я решил проблему, специально установив DBUnit-1.0.3
Ответ №5:
Для меня это сработало нормально http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15 /
Ответ №6:
установите его через composer:
{
...
"repositories": [
{
"type": "pear",
"url": "pear.symfony-project.com"
},
{
"type": "pear",
"url": "pear.phpunit.de"
}
],
"require-dev": {
"pear-pear.phpunit.de/phpunit": "3.5.15",
"pear-pear.phpunit.de/PHP_CodeCoverage": "1.0.*",
"pear-pear.phpunit.de/File_Iterator": "1.2.3"
}
}
Комментарии:
1. В то время, когда я изначально задавал этот вопрос, Composer еще не был выпущен.