Plaggerのインストール(非RPM)

あれからちまちまとRPM化の作業を進めているのだがなかなか終わらない。ようやく100パッケージ程のSpecファイルの修正が済んで、それでもまだ全体の半分程度。これはさすがに開発効率が悪すぎだし、これからCPANのモジュールを活用するようになると、こんなことをしていたらとてもやってられないので、RPM管理外で(ただしなるべくRPMによる管理と共存できるように)インストールする方法(以下「野良インストール」と呼ぶ)をとることにした。

まず、インストール先のディレクトリを作り、一般ユーザで書き込みできるようにパーミッションを設定する。

# mkdir /usr/local/CPAN
# chmod a+w /usr/local/CPAN

インストール先は/usr/local/CPANとした(この下に/bin,/lib,/share/manなどのディレクトリができる)。home以下にしなかったのは、homeのあるパーティションの空き容量がやや少なかったのと、インストールされたモジュールを別のユーザが使うことも考慮したため。といっても、自宅サーバで実ユーザは1人しかいないので、実はどちらでもあまり違いはない。単なる趣味の問題。

次に、CPANモジュールの設定ファイル~/.cpan/CPAN/MyConfig.pmを以下のように書き換える。

  'make_install_arg' => q[SITEPREFIX=/usr/local/CPAN],
  'makepl_arg' => q[INSTALLDIRS=site LIB=/usr/local/CPAN/lib/perl5 PREFIX=/usr/local/CPAN],
  'mbuildpl_arg' => q[./Build --install_base /usr/local/CPAN],

CPANモジュールを使って野良インストール。

$ cpan -i Plagger

依存関係がうまく解決されないと途中でエラーになるが、何度か繰り返すとエラーが出なくなる。

さて、これだけだとインストール先のディレクトリがPerlのライブラリパスに含まれていないので、せっかくインストールしたモジュールが使えない。そこでPERL5LIBという環境変数を設定する。

$ export PERL5LIB=/usr/local/CPAN/lib/perl5:/usr/local/CAPN/lib/perl5/site_lib

.bash_profileなどにこの設定を書き込んでおくとそのユーザでは常に野良インストールしたモジュールが使えるようになる。逆に言えばこの設定を無効にすることで、いつでも元の環境に戻すことができる。

今回CPANを使ったら拍子抜けするぐらい簡単にPlaggerをインストールすることができたので、調子に乗ってCatalystもインストールしてみた。またしばらく時間が取れないので、これを使って何かするのはもう少し先になりそう。