人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

皆さんが採用している CPAN の適切な管理方法を教えてください。

これまで試したことがあるのは、下記の通りです。
1. root 権限から cpan コマンドでインストールをする
2. cpan コマンドで $HOME ディレクトリに自分で使うモジュールをインストールする
3. パッケージ管理システムからインストールする

しかし、上記の方法は下記のような短所があります。

1. の方法は、依存関係が壊れたのを修復したり、アンインストールが困難。
2. インストールできないモジュールがあったり、管理が煩雑になる。また、影響範囲は限定的になるが、1.の問題解決にはならない。
3. パッケージ管理システムから外れたモジュールをインストールすると、CPAN やパッケージ管理システムの依存関係が壊れてしまう。

特に Plagger をインストールした日には、目も当てられないことになりました…。

特に複数のユーザーで利用する場合、モジュールの依存関係が壊れてしまい、モジュールを利用できなくなる最悪な事態は避けたいです。
また、OS や Perl 本体のアップグレードによる CPAN モジュールの移行方法も知りたいです。


●質問者: littlebangkok
●カテゴリ:コンピュータ インターネット
✍キーワード:CPAN HOME OS Perl Plagger
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● otsune
●35ポイント ベストアンサー

2.の手法ですがlocal::libを使った非rootでのCPAN環境構築 - hide-k.net#blogを参考にlocal::libを使うと煩雑にならずに管理が楽です。

インストールできないCPANモジュールも、だいたいOpenSSLなどのライブラリパスの指定でこけているのが数個あるぐらいなのでCPANインストール時にライブラリパスを指定する事で回避できたりします。

◎質問者からの返答

CPAN の管理を CPAN モジュールを利用して、やってしまおうということですね。

root 権限があれば、システム用の Perl とユーザー用の Perl を分けてしまうのも、ひとつの考え方かなと思ったりもします。

まずは、実際に動作をさせて試してみます。


2 ● b-wind
●35ポイント

root 権限があれば、システム用の Perl とユーザー用の Perl を分けてしまうのも、ひとつの考え方かなと思ったりもします。

これ、色々入れる場合は結構おすすめの方法です。

404 Blog Not Found:perl - Mac OS X - perlをDIYする

Perl が入っているOSの場合、システムコマンド自体が Perl のモジュールを使っている場合もあるので

うかつにバージョンアップすると面倒なことになる場合があるからです。


1. の方法は、依存関係が壊れたのを修復したり、アンインストールが困難

3. パッケージ管理システムから外れたモジュールをインストールする

これに関しては、RPMS ベースの管理システムであれば、cpan2rpm を使うことで解決できます。

Perlモジュールパッケージ管理システム導入(cpan2rpm) - Fedoraで自宅サーバー構築


OS や Perl 本体のアップグレードによる CPAN モジュールの移行方法

PurePerl なモジュールであればファイルをコピーするだけですむんですが、XS を使用する等

他のライブラリに依存したモジュールに関しては、再インストールしかないです。

◎質問者からの返答

> XS を使用する等他のライブラリに依存したモジュールに関しては、再インストールしかないです。

これはけっこう不便ですよね…と思う反面、仕方ないのかもしれませんね。

ただ、バッチが動くサーバーだと、どのタイミングでアップデートをすればいいのか、けっこう悩みますね。

> これに関しては、RPMS ベースの管理システムであれば、cpan2rpm を使うことで解決できます。

RPM 系だと、こんな便利なのがあるんですね。

Debian や FreeBSd でもこういうのがあるといいですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ