cpanモジュールを使う際の作法について教えて下さい。


既にcpanでインストールしているモジュールの最新版をリポジトリから
取得して使用したいのですが、新しい方のモジュールは、
どのように配置するのが良い作法なのでしょうか。
運用と開発で複数バージョンを共存させるようなシーンを想定しています。

具体的には、cpanでインストールしたplaggerをリポジトリから取得したもので、
置き換えたいなと思っています。(パスは/usr/lib/perl5/site_perl/5.8.8/以下)

何となく単純にリプレースするのに抵抗がありまして、質問させて頂きました。
よろしくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:2009/06/22 19:28:09
  • 終了:2009/06/23 18:47:40

ベストアンサー

id:Craftworks No.1

Craftworks回答回数20ベストアンサー獲得回数62009/06/22 22:27:26

ポイント100pt

local::lib を使うと、試用も削除も簡単にできます。複数バージョンの共存、新バージョンの評価に最適です。

http://search.cpan.org/~apeiron/local-lib-1.004003/lib/local/lib...

id:taichino0730

Craftworks様

ご回答ありがとうございます!

お陰様で簡単に、開発と運用でライブラリの切替が出来るようになりました。

1. cpanのインストール先を変更して、

http://openbooth.org/tags/cpan

2. 教えて頂いたlocal::libで使用するライブラリを変更

http://blog.hide-k.net/archives/2009/04/locallibcatalys.php

2009/06/23 18:47:14
  • id:Craftworks
    ちなみに、回答で提示したマニュアルに cpan インストール先の楽な変更方法も書いてあります。

    # Just print out useful shell commands
    $ perl -Mlocal::lib
    export MODULEBUILDRC=/home/username/perl/.modulebuildrc
    export PERL_MM_OPT='INSTALL_BASE=/home/username/perl'
    export PERL5LIB='/home/username/perl/lib/perl5:/home/username/perl/lib/perl5/i386-linux'
    export PATH="/home/username/perl/bin:$PATH"

    perl -Mlocal::lib と実行すると、ユーザーディクレトリに自動でインストール用のディレクトリを作成して、上記の .bashrc に追記するべき記述を出力してくれるので、あとは普通に root ユーザーでなくとも cpan コマンドでユーザーディレクトリにインストールできます。

    もちろん、上記環境変数を変更すればユーザーディレクトリ以外の別の場所にもインストールできます。試用が終わって必要なくなればディレクトリごと消すだけでアンインストールも完了です。
  • id:taichino0730
    Craftworks様

    わざわざコメントまで頂いて、ありがとうございます。
    すいません、今までコメントに気がつきませんでした。

    ようやくlocal::libが理解できました。
    要はインストール先ディレクトリと環境変数をセットで変更するという事ですね。
    それにサーチパスの順序でうまくローカルユーザに対してcpan環境が動作するんですね。

    cpanをブラックボックスとして扱っていて、触るのが怖くて仕方が無かったですが、
    抵抗無く触れるようになりました。ありがとうございました!


この質問への反応(ブックマークコメント)

トラックバック

  • cpanの使い方の整理 taichino.com 2009-07-30 15:16:19
    cpanのモジュール群を使いたいというのでperlを使い始めたんですが、肝心のcpanの使い方がイマイチ解っていなくて、いつも恐る恐る使っていたので、メモ代わりにまとめる事にしました。
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません