无法通过 PEAR 安装 PHPUnit,需要 PEAR 安装程序>= 1.9.2,无法从 1.9.0 升级 PEAR

2022-08-30 23:36:39

我阅读了其他PHPUnit安装问题,但没有成功。我的 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
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 已安装,报告 1.9.0!?!pear -V

更新尝试了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

答案 1

您的计算机上基本上有 2 个 pear 安装,并且“pear 升级”命令会更新另一个,而不是它本身。

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

找出它在哪里安装(在Debian / Ubuntu上):apt

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

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

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

在我的机器上,它是相同的 - 但可能不是在你的机器上,这就是问题所在。通过设置 , 以及 :php_dirbin_dir

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

或者,删除 ubuntu 梨,然后从 http://pear.php.net/go-pear.phar 中全新安装


答案 2

如果你对梨子部分没有成功,看看这个。

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

您也可以在下载后立即使用PHAR;

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

推荐