アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

独立したPEARのローカルコピーの作成方法

2009-01-19追記
elfさんのはてだで指摘されたようにレポジトリという言葉は間違ってるので、修正しました。「PEARレポジトリ」は間違いで、「PEARのローカルコピー」が正しいので、間違えて覚えてしまった人は頭の中を修正してくださいm(_ _)m
elfさんご指摘ありがとうございます。

森川です。
今回は一つのサーバで複数のPEARのバージョンを分けたいときや、アップグレードを別々に行う方法について紹介します。

といっても、PEARのマニュアルにも書いてある単純な方法です。

プロジェクトのソースにPEARを入れてしまう場合は、結構便利です。

すでにPEARがサーバにインストールされていることを前提にして、まずはPEARの設定ファイルを作成します。マニュアルでは、ホームディレクトリの .pearrc を作成していますが、複数プロジェクトを使用することを考えて、[プロジェクト名].pearrc を作成します。



$ pear config-create /path/to/project/pear ~/pearrc/project.pearrc


これで、~/pearrc/project.pearrc が作成されます。次に、PEARの基本パッケージをインストールします。



$ pear -c ~/pearrc/project.pearrc install -o PEAR


あとは、必要なパッケージをインストールするだけです。

次に、プロジェクトをチェックアウトした中にPEARが含まれている場合のチェックアウト方法です。今回は ~/project/pearPEARのインストールされているディレクトリとします。

まずは、先ほどと同様にPEARの設定ファイルを作成します。



$ pear config-create ~/project/pear ~/pearrc/project.pearrc


あとは、以下のようにアップグレードをするだけです。



$ pear -c ~/pearrc/project.pearrc upgrade Mail


これで、プロジェクトごとに独立したPEARレポジトリが持てるので、一つのサーバで複数のプロジェクトを使用する場合などにきっと幸せになれると思います。

# 2009-01-19追記
ちなみに include_path にサーバ上にインストールされている PEARディレクトリが含まれていると、同じクラスを定義したファイルを2重に読み込んだりする可能性もあるので、注意しましょう。