PEAR があなたのマシン上で動くようになったら (インストール を参照ください)、 おそらく次は何かのパッケージをインストールすることになるでしょう。 ここでは、PEAR のコマンドラインインストーラをはじめて使う人のために その方法を説明します。
PEAR パッケージ "foo" をインストールする一般的な手順は、 このようになります。
$ pear install foo |
これを入力して Enter キーを押すと、 パッケージをダウンロードしてそれをインストールします。 パッケージ名は大文字小文字を区別しません。 インストーラが自動的に小文字に変換してその名前のパッケージを探します。
もし既にそのパッケージがインストールされている場合は、 このようなメッセージが表示されます。
$ pear install foo Ignoring installed package pear/foo Nothing to install |
インストール済みのパッケージよりも新しいバージョンをインストールしようとしている場合でも 同じようになります。既存のパッケージの最新版に更新するコマンドは、次のようになります。
$ pear upgrade foo upgrade ok: channel://pear.php.net/Foo-1.2.3 |
既に最新版のパッケージがインストールされている場合は、 このようなメッセージが表示されます。
Ignoring installed package pear/Foo Nothing to upgrade |
一部のファイルを削除してしまったなどの理由で、 どうしても再インストールしたいという場合は、次のいずれかの手段があります。
いったんアンインストールしてからインストールしなおす
強制的にインストールする
強制的にインストールさせる場合には、 自分がこれから行おうとしていることをきちんと把握しておきましょう。 さもないと、場合によっては PEAR の環境を壊してしまうかもしれません。 何かを強制的に行う場合は、最後に次のようなオプションを指定します。
$ pear install -f foo $ pear upgrade -f foo |
ときどき、次のようなエラーメッセージが表示されることがあります。
Failed to download pear/foo within preferred state "stable", latest release is version 0.1.2, stability "beta", use "channel://pear.php.net/foo-0.1.2" to install Cannot initialize 'channel://pear.php.net/foo', invalid or missing package file Package "channel://pear.php.net/foo" is not valid install failed |
このエラーが発生する原因は、 PEAR のデフォルト設定では安定版のパッケージしかインストールできないようになっていることです。 devel (開発版) や alpha (アルファ版)、 beta (ベータ版) のパッケージをインストールしようとすると、拒否されます。 これをインストールしたい場合は、バージョン番号を指定するか あるいはそのパッケージの版を指定します。
$ pear install Foo-beta $ pear install Foo-alpha |
特定のバージョンをインストールしたり 特定のバージョンに更新したりしたい場合は次のようにします。
$ pear install Foo-1.2.3 $ pear upgrade Foo-1.2.3 |
パッケージの安定性なんて大して気にしていなくて、毎回 -alpha や -beta をつけるのが面倒くさいという人は、グローバルな設定オプションを指定するといいでしょう。
$ pear config-set preferred_state alpha config-set succeeded |
このコマンドで指定できる安定性の種類は次のとおりです (安定度の高い順に並べてあります)。
stable
beta
alpha
devel
あるパッケージを正しく機能させるためには 別のパッケージをインストールしなければならないということもよくあります。 このような関係のことを「依存性」といいます。PEAR インストーラは依存性の処理もサポートしており、 必要なパッケージは自動的にインストールします。 また、オプションで使用するパッケージもインストールしたければ、 それも自動的に行うことができます。
必須の依存性があるパッケージをインストールしようとした際に、 エラーが発生することがあります。エラーの中身をじっくり読んでみると、 どのパッケージが必要 (そしてシステム上にインストールされていない) かがわかります。
$ pear install html_page2 Did not download dependencies: pear/HTML_Common, use --alldeps or --onlyreqdeps to download automatically pear/HTML_Page2 requires package "pear/HTML_Common" (version >= 1.2) No valid packages found install failed |
この場合の対応方法は、次のいずれかです。
依存するパッケージを別途手動でインストールする
必須の依存パッケージのみを PEAR に自動的にインストールさせる
必須だけでなくオプションの依存パッケージも含めて PEAR に自動的にインストールさせる
最初の選択肢は、かなり大変な方法です。依存パッケージをインストールしようとすると、 そのパッケージもさらに別のパッケージに依存しているかもしれません。
それ以外の方法をとる場合は、インストールコマンドにオプション --onlyreqdeps (必須の依存パッケージのみインストール) あるいは --alldeps (すべての依存パッケージをインストール) を指定するだけです。
$ pear install --onlyreqdeps html_page2 WARNING: "pear/HTML_Common" is deprecated in favor of "pear/HTML_Common2" downloading HTML_Page2-0.5.0beta.tgz ... Starting to download HTML_Page2-0.5.0beta.tgz (15,467 bytes) ......done: 15,467 bytes downloading HTML_Common-1.2.4.tgz ... Starting to download HTML_Common-1.2.4.tgz (4,519 bytes) ...done: 4,519 bytes install ok: channel://pear.php.net/HTML_Common-1.2.4 install ok: channel://pear.php.net/HTML_Page2-0.5.0beta |
特定のパッケージをダウンロードして、 例えばオフライン状態にある他のマシンにインストール/ アップグレードするといったこともできます。
$ pear download Foo |
ダウンロードしたファイル名は、もし Foo の最新バージョンが 1.2.3 なら Foo-1.2.3.tgz のようになります。 これをインストールするには、次のようにタイプするだけです。
$ pear install Foo-1.2.3.tgz |
警告 |
このセクションの説明は削除しました。 手動でのインストールを行うには、 パッケージの構造やインストールの流れなどに関する深い理解が必要となるからです。 どうしても PEAR インストーラなしでインストールしたいという場合は、 開発者向けガイド (第20章 および 第21章) で package.xml についての説明を読んでください。 シェルが利用できないリモートホストに PEAR をインストールしたい場合は 共有ホストでの PEAR のローカルコピーのインストール項第10章 を参照ください。 |
ここでは、CVS から最新の開発版 PEAR パッケージをインストールする方法について説明します。
実稼動環境では、CVS から得たパッケージを実行することは控えるべきです。 CVS バージョンは通常のリリースと異なります。つまり、
メンテナやその他の人たちからの援助が得られません。
CVS バージョンは、PEAR インストーラのアップグレード機能を破壊することがあります。
CVS から得たパッケージは、次の場合にのみ使用するべきです。
メンテナが勧めた場合
パッケージの開発を援助したい場合
リリースされていない機能やパッチを本当に必要としている場合
CVS からパッケージをインストールする場合、パッケージのメンテナが 新しいリリースを作成するのと同じステップを取る必要があります。 次のいずれかのステップで問題がある場合は、本マニュアルの デベロッパーズガイドを参照してください。
パッケージを http://www.php.net/anoncvs.php に記述されている通りに CVS から チェックアウトする。
チェックアウトするモジュールは、pear/<packagename> となります。たとえば、 cvs -d :pserver:cvsread@cvs.php.net:/repository checkout pear/HTTP_Client。
package.xml をチェックし、dir および file 要素が 実際のファイル・ディレクトリ構造にあっているかどうか調べる。 もし異なるなら、メンテナに連絡をとり、package.xml を アップデートするように頼んでみてください。
有効なパッケージのアーカイブを PEAR インストーラを使って作成する。 pear package <path to package.xml>
対象のパッケージがインストール済みの時は、バージョンに関連する問題を避けるために削除する。 pear uninstall <package>
パッケージのアーカイブをインストールする。 pear install <package-file>
以上で CVS バージョンがインストールされました。
(CVS バージョンは) パッケージの正式リリース後、できるだけ早くアップグレードするべきです。 正式リリースをインストールする際には、バージョンの衝突を避けるため、 CVS バージョンを削除してください。
PECL パッケージのインストール手順については、PHP のウェブサイトにて こちらのマニュアル を参照してください。