Pear telling me to upgrade and then "Nothing to upgrade"
I'm trying to install PHPUnit. I'm getting an error message that I need to update the version of Pear, but then when I try to do it, it says Nothing to update.
Any ideas what's happening here?
UPDATE - this is the output on `pear list`
=========================================
Package Version State
Archive_Tar 1.3.7 stable
Auth 1.6.4 stable
Auth_RADIUS 1.0.7 stable
Auth_SASL 1.0.4 stable
Benchmark 1.2.8 stable
Cache_Lite 1.7.9 stable
Console_CommandLine 1.1.3 stable
Console_Getopt 1.3.1 stable
Crypt_CHAP 1.5.0 stable
DB 1.7.13 stable
File_Passwd 1.1.7 stable
File_SMBPasswd 1.0.3 stable
HTML_Common 1.2.5 stable
HTML_QuickForm 3.2.12 stable
HTTP_Client 1.2.1 stable
HTTP_Request 1.4.4 stable
Log 1.12.6 stable
MDB 1.3.0 stable
MDB2 2.4.1 stable
Mail 1.2.0 stable
Mail_Mime 1.8.1 stable
Net_DIME 1.0.2 stable
Net_POP3 1.3.8 stable
Net_SMTP 1.5.2 stable
Net_Socket 1.0.10 stable
Net_URL 1.0.15 stable
Net_Vpopmaild 0.3.2 beta
PEAR 1.9.2 stable
Payment_DTA 1.4.1 stable
SOAP 0.12.0 beta
Structures_Graph 开发者_运维知识库 1.0.4 stable
XML_Parser 1.3.4 stable
XML_RPC2 1.0.8 stable
XML_Util 1.2.1 stable
I had the same problem and in my case it was because phpunit has a dependency of the pear.symfony.com channel. The following worked for me:
pear uninstall phpunit
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony.com
pear install phpunit/phpunit
Without the symfony channel, pear did only install in version 3.5.15. After adding the channel, i got 3.7.7.
First, clear the cache. Stale package information may be in there.
$ pear clear-cache
$ pear upgrade pear
Then, verify you get the correct remote package information - it should show 1.9.2:
$ pear remote-info pear
Latest 1.9.2
Installed 1.9.1
...
If the latest is not 1.9.2, you've got strange network problems. If the "installed" is listed as 1.9.2., your installation is strange :)
Verify that the PEAR version you are using is the same you are trying to upgrade:
$ which pear
/usr/bin/pear
$ pear list pear|grep bin
script /usr/bin/pear
script /usr/bin/peardev
script /usr/bin/pecl
If they do not match, fix your include path to include the correct pear version, or the pear configuration by using
$ pear config-show
$ pear config-get bin_dir
$ pear config-set bin_dir /path/to/my/bin
and force-upgrade to install the files to the correct locations:
$ pear upgrade -f pear
精彩评论