写真登録枚数

3518

新着情報

PEAR をアップグレードさせる時のエラーを回避

home »サーバー管理・構築 »PHP » PEAR をアップグレードさせる時のエラーを回避

先日 PHP を 5.2 にバージョンアップを実行して使用していたのですが、pearのパッケージもカレンダーパッケージをインストールをしようとしたところ正常に実行することが出来ませんでした。

# pear install Calendar-beta
 WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
 Did not download optional dependencies: pear/Date, use --alldeps to download automatically
 pear/Calendar requires PEAR Installer (version >= 1.5.0), installed version is 1.4.9
 pear/Calendar can optionally use package "pear/Date"
 No valid packages found
 install failed

どうやら、PEARのバージョン自体が低いようです。
1.5.0以降でないとインストール出来ないとのことなので早速アップグレードを実行。

# pear upgrade PEAR
 WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
 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

ぬう・・・これもバージョンアップが出来ないようです。
しかも、今度は1.5.4以降、さらには1.8.0以降でないと 駄目とか言ってきます。
とりあえず、1.5.4にアップデートをさせようと PEAR のバージョンを  1.5.4 を指定して直接アップデートをかけてみます。

# pear upgrade PEAR-1.5.4
 WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
 Did not download optional dependencies: pear/XML_RPC, use --alldeps to download automatically
 pear/PEAR dependency package "pear/Console_Getopt" downloaded version 1.3.1 is not the recommended version 1.2.2, but may be compatible, use --force to install
 pear/Console_Getopt requires PEAR Installer (version >= 1.8.0), installed version is 1.4.9
 downloading Archive_Tar-1.3.2.tgz ...
 Starting to download Archive_Tar-1.3.2.tgz (17,150 bytes)
 ......done: 17,150 bytes
 upgrade ok: channel://pear.php.net/Archive_Tar-1.3.2

おっと、どうやら動きがあったようです。
しかし、それでも 1.8.0 の PEAR を要求してきます。
それではと、1.8.0を指定。

# pear upgrade PEAR-1.8.0
 WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
 pear/PEAR dependency package "pear/Archive_Tar" installed version 1.3.8 is not the recommended version 1.3.3, but may be compatible, use --force to install
 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

ありゃ、 1.5.4 を再度要求されました。
やはり 1.5.4 自体が正常にインストールが出来ていないようです。
これではインストール出来ないループになってしまっていますのでここから打開策を見つけないといけません。
再度 1.5.4 のインストールを敢行すると表記が変わっていました。

# pear upgrade PEAR-1.5.4
 WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
 pear/PEAR dependency package "pear/Console_Getopt" downloaded version 1.3.1 is not the recommended version 1.2.2, but may be compatible, use --force to install
 pear/Console_Getopt requires PEAR Installer (version >= 1.8.0), installed version is 1.4.9
 No valid packages found
 upgrade failed

use –force to install つまり、強制インストールをしろと言うことらしいです。
その前にチャンネルを更新しろというワーニングが出ているのでそれを改善してみようと実行するも・・・

# pear update-channels
 HTTP error, got response: HTTP/1.1 410 Gone
 Didn't receive 200 OK from remote server. (HTTP/1.1 410 Gone)

すがすがしいぐらいに即答されました
強制インストールしてもあまり正常に動作した経験が少ないので気が進まないのですが、このままだと手詰まりなので渋々実行。

# pear upgrade --force PEAR-1.5.4
 WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
 Did not download optional dependencies: pear/XML_RPC, use --alldeps to download automatically
 warning: pear/PEAR dependency package "pear/Console_Getopt" downloaded version 1.3.1 is not the recommended version 1.2.2
 warning: pear/Console_Getopt requires PEAR Installer (version >= 1.8.0), installed version is 1.4.9
 downloading PEAR-1.5.4.tgz ...
 Starting to download PEAR-1.5.4.tgz (293,070 bytes)
 .............................................................done: 293,070 bytes
 downloading Console_Getopt-1.3.1.tgz ...
 Starting to download Console_Getopt-1.3.1.tgz (4,471 bytes)
 ...done: 4,471 bytes
 upgrade ok: channel://pear.php.net/Console_Getopt-1.3.1
 upgrade ok: channel://pear.php.net/PEAR-1.5.4
 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)
 To install use "pear install pear/PEAR#featurename"

どうやら無事、 1.5.4 へのアップグレードは出来ました。
では、続いて最新版へのバージョンアップを実行してみます。

# pear upgrade PEAR
WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
downloading PEAR-1.9.4.tgz ...
Starting to download PEAR-1.9.4.tgz (296,332 bytes)
.............................................................done: 296,332 bytes
downloading Archive_Tar-1.3.8.tgz ...
Starting to download Archive_Tar-1.3.8.tgz (17,995 bytes)
...done: 17,995 bytes
upgrade ok: channel://pear.php.net/Archive_Tar-1.3.8
upgrade ok: channel://pear.php.net/PEAR-1.9.4
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)
To install use "pear install pear/PEAR#featurename"

こちらも無事通りました。
強制実行もたまには良い結果をもたらすようです。

先ほど実行できなかったチャンネルのアップデートです。

# pear update-channels
 Updating channel "doc.php.net"
 Update of Channel "doc.php.net" succeeded
 Updating channel "pear.php.net"
 Update of Channel "pear.php.net" succeeded
 Updating channel "pecl.php.net"
 Channel "pecl.php.net" is up to date

今度はきっちりアップデートを実行してくれました。
PEARのバージョンが低かったのがすべての元凶みたいですね。

最後に目的だったカレンダーモジュールを入れます。

# pear install Calendar-beta
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
downloading Calendar-0.5.5.tgz ...
Starting to download Calendar-0.5.5.tgz (58,159 bytes)
..............done: 58,159 bytes
install ok: channel://pear.php.net/Calendar-0.5.5

はい、こちらもすんなりとインストールすることが出来ました。

たまにpearのメンテナンスもしてあげないとアップデートが非常に面倒になったりするようです。
バージョンアップは定期的に

関連のありそうなエントリ

この記事に対するコメントはまだ登録されていません。

*


トラックバックURL


※ 管理者の承認後に表示します。無関係な内容や、リンクだけで意見や感想のないものは承認しません。


ブログランキング・にほんブログ村へ