无法通过 PEAR 安装 PHPUnit,需要 PEAR Installer >= 1.9.2,无法从 1.9.0 升级 PEAR [英] Can't install PHPUnit via PEAR, requires PEAR Installer >= 1.9.2, can't upgrade PEAR from 1.9.0

查看:29
本文介绍了无法通过 PEAR 安装 PHPUnit,需要 PEAR Installer >= 1.9.2,无法从 1.9.0 升级 PEAR的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我阅读了其他 PHPUnit 安装问题,但没有任何成功.我的 PEAR 安装发生了什么?

I read the other PHPUnit installation questions but haven't had any success. What is going on with my PEAR install?

$ 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
greg@ubuntu:~$ 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!?!

pear list reports 1.9.3 installed, pear -V reports 1.9.0!?!

更新 尝试了 KingCrunch 的建议.

Update Tried KingCrunch suggestion.

$ 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

推荐答案

你的机器上基本上有 2 个 pear 安装,并且pear upgrade"命令更新另一个,而不是它本身.

You basically have 2 pear installations on your machine, and the "pear upgrade" command updates the other one, not itself.

我假设您正在运行的梨版本已通过 ubuntu 的 apt 安装.

I assume that the pear version you're running has been installed via ubuntu's apt.

使用 apt 找出它的安装位置(在 Debian/Ubuntu 上):

Find out where it has been installed with apt (on Debian/Ubuntu):

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

现在让我们看看 pear 将文件安装到哪里:

Now let's see where pear installs the files to:

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

在我的机器上,它是一样的 - 但在你的机器上可能不是,这就是问题所在.通过设置 php_dir 以及 bin_dir 来修复它:

On my machine, it is the same - but probably not on yours, which is the problem. Fix it by setting the php_dir, as well as the bin_dir:

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

或者,删除 ubuntu pear 并从 http://pear.php.net/go-pear.phar

Alternatively, remove the ubuntu pear and install it freshly from http://pear.php.net/go-pear.phar

这篇关于无法通过 PEAR 安装 PHPUnit,需要 PEAR Installer >= 1.9.2,无法从 1.9.0 升级 PEAR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆