0

我正在 Mac OS X 上安装 PHPUnit,但我当前的 PEAR 版本有问题。现有的 SO 问题并不能解决问题。当前的 PEAR 版本列为 1.9.1。PHPUnit 需要 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

运行pear install -f pearPEAR 1.9.4 后,应该会安装,并running pear upgrade pear“表明”我们处于最新版本。

[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

但是,当 pear install phpunit/PHPUnit 运行时,它会说:

[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

曾经在 /usr/bin/pear 中安装了一个 PEAR,但它不再存在:

[le programmeur]$ls /usr/bin/pear
pear_old  peardev

PATH~/.profile指向:/Applications/MAMP/bin/php5.3/bin

# Mod path
export PATH=/Applications/MAMP/bin/php5.3/bin:$PATH

我不知道我在这里缺少什么。哈!

4

1 回答 1

0

您的机器上有两个梨安装,如https://stackoverflow.com/a/6596669/282601所述

您正在执行的pear命令不是更新自身,而是第二次安装。

唯一的解决方案是配置 pear 以便它通过更改路径自行升级pear config-show- 或丢弃所有安装并从头开始安装。

于 2012-09-26T11:05:25.047 回答