问题
I am installing PHPUnit on Mac OS X and I am having problems with my current PEAR version. Existing SO questions don't resolve the problem. The current PEAR version is listed as 1.9.1. PHPUnit requires 1.9.4.
[le programmeur]$which pear
/Applications/MAMP/bin/php5.3/bin/pear
[le programmeur]$pear -V
PEAR Version: 1.9.1
PHP Version: 5.3.5
Zend Engine Version: 2.3.0
[le programmeur]$pear config-get php_dir
/Users/rallen8440/pear/share/pear
After running pear install -f pear
PEAR 1.9.4 is supposedly installed, and running pear upgrade pear
"indicates" that we are at the latest version.
[le programmeur]$/Applications/MAMP/bin/php5.3/bin/pear install -f pear
WARNING: "pear/Console_Getopt" is deprecated in favor of "pear/Console_GetoptPlus"
downloading PEAR-1.9.4.tgz ...
Starting to download PEAR-1.9.4.tgz (296,332 bytes)
.............................................................done: 296,332 bytes
install ok: channel://pear.php.net/PEAR-1.9.4
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"
[le programmeur]$/Applications/MAMP/bin/php5.3/bin/pear -V
PEAR Version: 1.9.1
PHP Version: 5.3.5
Zend Engine Version: 2.3.0
[le programmeur]$pear upgrade pear
pear/pear is already installed and is the same as the released version 1.9.4
upgrade failed
However when pear install phpunit/PHPUnit is run, it says otherwise:
[le programmeur]$pear install phpunit/PHPUnit
Did not download optional dependencies: phpunit/PHP_Invoker, use --alldeps to download automatically
phpunit/PHPUnit requires PEAR Installer (version >= 1.9.4), installed version is 1.9.1
phpunit/PHPUnit can optionally use package "phpunit/PHP_Invoker" (version >= 1.1.0)
phpunit/File_Iterator requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
phpunit/Text_Template requires PEAR Installer (version >= 1.9.4), installed version is 1.9.1
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.4), installed version is 1.9.1
phpunit/PHP_CodeCoverage requires package "phpunit/File_Iterator" (version >= 1.3.0)
phpunit/PHP_CodeCoverage requires package "phpunit/Text_Template" (version >= 1.1.1)
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5)
phpunit/PHP_Timer requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.4), installed version is 1.9.1
phpunit/PHPUnit_MockObject requires package "phpunit/Text_Template" (version >= 1.1.1)
phpunit/PHP_TokenStream requires PEAR Installer (version >= 1.9.4), installed version is 1.9.1
No valid packages found
install failed
[le programmeur]$pear -V
PEAR Version: 1.9.1
PHP Version: 5.3.5
Zend Engine Version: 2.3.0
There used to be a PEAR installed in /usr/bin/pear but it's no longer there:
[le programmeur]$ls /usr/bin/pear
pear_old peardev
The ~/.profile
PATH is pointing to /Applications/MAMP/bin/php5.3/bin
:
# Mod path
export PATH=/Applications/MAMP/bin/php5.3/bin:$PATH
I have no clue as to what I am missing here. Halp!
回答1:
You have two pear installations on your machine, as described on https://stackoverflow.com/a/6596669/282601
The pear
command you're executing is not updating itself but the second installation.
The only solution is to configure pear so that it upgrades itself, by changing the paths in pear config-show
- or to throw all installations away and install from scratch.
来源:https://stackoverflow.com/questions/12538165/upgrading-pear-on-mac-os-x-mamp