当前版本的PHPUnit是3.6,但在我更新代码之前,我需要使用3.5.15代替。我在尝试安装3.5.15时遇到了很多麻烦。
我从一个简洁的Zend Server安装开始,它只安装了一些基本的PEAR包。我通道发现了pear.phpunit.de和pear.symfony-project.com。然后我尝试从URL安装3.5.15,但它失败了:
# 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?
答案 0 :(得分:6)
要让Pear不强行安装PHPUnit 3.6,你需要处理很多依赖。以下是我为安装PHPUnit 3.5.15所做的工作:http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/
答案 1 :(得分:3)
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,这似乎不对。这看起来像是一个包装问题,但我无法弄清楚报告的位置。
答案 2 :(得分:3)
我无法在Ubuntu上正确安装PHPUnit
现在正在widnows 7上安装 遵循这里的建议 http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/
并抽象它:)现在希望我能够安装 ubuntu也是
-
现在已经安装了phpunit正确的版本。
答案 3 :(得分:1)
从未答复的清单中获取问题:
PHPUnit-3.5.15需要DbUnit,但最新版本的DbUnit(1.1.0)需要PHPUnit-3.6。
这就是为什么,当我安装PHPUnit 3.5.15时,将安装3.6。我通过专门安装DbUnit-1.0.3
解决了这个问题答案 4 :(得分:1)
答案 5 :(得分:0)
通过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"
}
}