Asial Blog

Recruit! Asialで一緒に働きませんか?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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