0

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!

amateur barista
  • 4,440
  • 3
  • 25
  • 37
  • I finally gave up trying it with PEAR and i downloaded PHPUnit files ans placed them inside app/vendor/. – Alvaro Sep 23 '12 at 16:48

1 Answers1

0

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.

Community
  • 1
  • 1
cweiske
  • 30,033
  • 14
  • 133
  • 194