2011-07-06 114 views
17

我閱讀了其他PHPUnit安裝問題,但沒有取得任何成功。我的PEAR安裝發生了什麼?無法通過PEAR安裝PHPUnit,需要PEAR安裝程序> = 1.9.2,無法從1.9.0升級PEAR

$ sudo pear update-channels 
Updating channel "components.ez.no" 
Channel "components.ez.no" is up to date 
Updating channel "doc.php.net" 
Channel "doc.php.net" is up to date 
Updating channel "pear.php.net" 
Channel "pear.php.net" is up to date 
Updating channel "pear.phpunit.de" 
Channel "pear.phpunit.de" is up to date 
Updating channel "pear.symfony-project.com" 
Channel "pear.symfony-project.com" is up to date 
Updating channel "pecl.php.net" 
Channel "pecl.php.net" is up to date 
$ sudo pear upgrade pear 
Nothing to upgrade 
$ sudo pear install phpunit/PHPUnit 
phpunit/PHPUnit requires PEAR Installer (version >= 1.9.2), installed version is 1.9.0 
phpunit/PHPUnit can optionally use PHP extension "dbus" 
phpunit/DbUnit requires PEAR Installer (version >= 1.9.2), installed version is 1.9.0 
phpunit/File_Iterator requires PEAR Installer (version >= 1.9.2), installed version is 1.9.0 
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
phpunit/PHP_CodeCoverage requires package "phpunit/File_Iterator" (version >= 1.2.2) 
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) 
phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.2), installed version is 1.9.0 
phpunit/PHPUnit_Selenium requires PEAR Installer (version >= 1.9.2), installed version is 1.9.0 
phpunit/PHP_TokenStream requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
No valid packages found 
install failed 
$ pear list 
Installed packages, channel pear.php.net: 
========================================= 
Package   Version State 
Archive_Tar  1.3.7 stable 
Cache_Lite  1.7.11 stable 
Console_Getopt 1.3.1 stable 
HTTP_Request2 2.0.0RC1 beta 
Net_URL2   0.3.1 beta 
PEAR    1.9.3 stable 
Structures_Graph 1.0.4 stable 
XML_RPC2   1.1.1 stable 
XML_Util   1.2.1 stable 
[email protected]:~$ pear -V 
PEAR Version: 1.9.0 
PHP Version: 5.3.6 
Zend Engine Version: 2.3.0 
Running on: Linux ubuntu 2.6.32-32-generic-pae #62-Ubuntu SMP Wed Apr 20 22:10:33 UTC 2011 i686 

pear list報告1.9.3安裝,pear -V報告1.9.0!?!

更新嘗試了KingCrunch的建議。

$ sudo pear install -f pear 
[sudo] password for greg: 
downloading PEAR-1.9.3.tgz ... 
Starting to download PEAR-1.9.3.tgz (295,774 bytes) 
...........................done: 295,774 bytes 
install ok: channel://pear.php.net/PEAR-1.9.3 
PEAR: Optional feature webinstaller available (PEAR's web-based installer) 
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer) 
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer) 
PEAR: To install optional features use "pear install pear/PEAR#featurename" 
$ pear -V 
PEAR Version: 1.9.0 
PHP Version: 5.3.6 
Zend Engine Version: 2.3.0 
Running on: Linux ubuntu 2.6.32-32-generic-pae #62-Ubuntu SMP Wed Apr 20 22:10:33 UTC 2011 i686 
+6

嘗試'sudo梨安裝-f梨' – KingCrunch

+0

這沒有工作不幸,請參閱我的更新問題。 –

+2

(sudo)'梨升級梨'從您的帖子是有用的,我碰到我的版本,所以謝謝你問這個問題! – Kzqai

回答

16

你基本上有你的機器上2和梨安裝,以及「梨升級」命令更新另一個,而不是自己。

我假設您正在運行的pear版本已經通過ubuntu的apt安裝。

找出它已經安裝了apt(在Debian/Ubuntu的):

$ dpkg -L php-pear 
... 
/usr/share/php/PEAR.php 
... 
/usr/bin/pear 

現在讓我們來看看其中梨安裝文件:

$ pear config-get php_dir 
/usr/share/php 

在我的機器,它是相同 - 但可能不在你的身上,這是問題所在。通過設置php_dir,還有bin_dir修復:

$ pear config-set php_dir /usr/share/php 
$ pear config-set bin_dir /usr/bin 

或者,刪除Ubuntu的梨,並從http://pear.php.net/go-pear.phar

+0

謝謝你,你是對的。我從源代碼安裝了PHP 5.3.6,因此我可以爲nginx啓用FPM支持。 '$ pear config-get php_dir /etc/php/lib/php' –

+0

@cweiske,我有同樣的問題(http://stackoverflow.com/questions/8949963/phpunit-pear-upgrading-errors),但梨配置-get php_dir'和'dpkg -L php-pear'指向相同的地址。 – Eray

+1

我如何知道我的梨在Mac Os X上的安裝位置?這不起作用:dpkg -L php-pear – Alvaro

0

新鮮安裝它。如果你是不是成功與梨的部分看看在這。

wget https://phar.phpunit.de/phpunit.phar 
chmod +x phpunit.phar 
mv phpunit.phar /usr/local/bin/phpunit 

裁判:http://phpunit.de/manual/3.7/en/installation.html

您也可以立即使用藥業你已經下載後;

wget https://phar.phpunit.de/phpunit.phar 
php phpunit.phar