page_adsence

2011年4月12日火曜日

pear upgradeでのエラーその2

pearでupgradeしようと思ったら再びエラーが。

WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user

pearのチャンネルが古いらしい。

# pear channel-update pear.php.net

と実行する。

pear/PEAR dependency package "pear/Console_Getopt" downloaded version 1.3.1 is not the recommended version 1.2.3, but may be compatible, use --force to install
pear/Archive_Tar requires PEAR Installer (version >= 1.5.4), installed version is 1.4.9
pear/Console_Getopt requires PEAR Installer (version >= 1.8.0), installed version is 1.4.9
No valid packages found
upgrade failed

PEARとArchive_Tar及びConsole_Getoptとのバージョンの兼ね合いで、upgradeできないみたい。

なので、Archive_TarとConsole_Getoptを強制的にアップデートする。

# pear upgrade --force Archive_Tar
# pear upgrade --force Console_Getopt

で、完了後に

# pear upgrade pear

あと、pearでインストール時にパーミッションが足りないと下記のようなメッセージがでるんだ。
初めて知った。
ぶっちゃけわかりずらい…。
PHP Fatal error:  Call to undefined method PEAR::raiseerro() in /usr/share/pear/PEAR/REST.php on line 165