CPANモジュールのインストール時に自動でデフォルト選択をする方法
何通りかあります。
yes コマンド
yes '' | cpan -i Some::Module
yes に空文字列を引数に与えないと、'y' をパイプに送ってしまい、デフォルト値選択ではなく、必ず y を選択してしまうので注意!
環境変数 PERL_AUTOINSTALL
PERL_AUTOINSTALL='--defaultdeps' cpan -i Some::Module
or
export PERL_AUTOINSTALL='--defaultdeps' cpan -i Some::Module
詳しくは、Module::AutoInstall の ENVIRONMENT の項を参照のこと。
cpan の prerequisites_policy オプション
cpan> o conf prerequisites_policy follow cpan> o conf commit cpan> quit
で設定変更をして、
cpan -i Some::Module
- prerequisites_policy
- モジュールの前提条件を満たしていないときにどうするか。('follow' デフォルト選択, 'ask' 尋ねる, 'ignore' 無視する)
まとめ
prerequisites_policy を設定すれば、全てのインストール作業に適用されて便利ですが、デフォルト値じゃないものを選択したい時もあるので、普段は yes コマンドを使って、デフォルト値以外も指定したいときは、yes コマンドを使わずに普通にインストールしています。
CPAN モジュールをバージョン指定でインストールする方法
ブラウザで search.cpan.org から tar ball を持ってこなくても、cpan シェルでバージョンを指定してインストールできます。
cpan[1]> m Test::Declare Module id = Test::Declare CPAN_USERID NEKOKAK (Atsushi Kobayashi <nekokak cpan org>) CPAN_VERSION 0.04 CPAN_FILE N/NE/NEKOKAK/Test-Declare-0.04.tar.gz UPLOAD_DATE 2009-04-09 INST_FILE (not installed) cpan[2]> install NEKOKAK/Test-Declare-0.03.tar.gz
m コマンドでモジュールの場所を調べてバージョン番号の部分を変えて指定すれば、通常の最新版と同様に自動インストールできます。