pearアップグレードでちょっとはまった

http://pear.php.net/bugs/bug.php?id=10154

$ sudo pear install symfony/symfony
downloading symfony-1.0.0.tgz ...
Starting to download symfony-1.0.0.tgz (1,910,892 bytes)
.............................................done: 1,910,892 bytes

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to
allocate 786400 bytes) in /usr/local/lib/php/PEAR/Registry.php on line
1241
$ sudo vi /usr/local/lib/php-cli.ini
$ sudo pear install symfony/symfony
Skipping package "symfony/symfony", already installed as version
No valid packages found
install failed
$ sudo pear uninstall symfony/symfony
No package to uninstall given
$ sudo pear clear-cache
reading directory /tmp/pear/cache
16 cache entries cleared
$ sudo pear install symfony/symfony
Skipping package "symfony/symfony", already installed as version
No valid packages found
install failed
$ sudo pear upgrade-all
Will upgrade console_getopt
Will upgrade html_css
Will upgrade symfony
WARNING: channel "pear.php.net" has updated its protocols, use
"channel-update pear.php.net" to update
downloading Console_Getopt-1.2.2.tgz ...
Starting to download Console_Getopt-1.2.2.tgz (4,252 bytes)
.....done: 4,252 bytes
downloading HTML_CSS-1.1.3.tgz ...
Starting to download HTML_CSS-1.1.3.tgz (107,398 bytes)
...done: 107,398 bytes
downloading symfony-1.0.0.tgz ...
Starting to download symfony-1.0.0.tgz (1,910,892 bytes)
...done: 1,910,892 bytes
upgrade-all ok: channel://pear.php.net/Console_Getopt-1.2.2
upgrade-all ok: channel://pear.php.net/HTML_CSS-1.1.3
ERROR: pear.symfony-project.com/symfony not installed

これはサイトからのコピペなのですが、symfonyのアップグレードでおなじようなことがおきた。

  • pear upgrade を使用とすると、"Allowed memory size〜" のエラーがでてとまった
  • もう一度 pear upgrade を使用とすると、今度はインストールされてないよ、的なエラーがでる
  • じゃあ pear install でいいか〜と思ってやってみると、今度は既にインストールされてる、というエラーがでる
  • 困った

といった感じ。


同じ方法で解決。(以下もサイトからのコピペ)

sudo rm /usr/local/lib/php/.registry/.channel.pear.symfony-project.com/symfony.reg
sudo peardev upgrade symfony/symfony