プロジェクトが依存しているモジュールをローカルミラーで管理します。
ローカルミラーはプロジェクトのバージョン管理下に入れます。
こうすることで、依存モジュールのバージョンを固定することができます。
管理ツールインストール
ローカルミラーを管理するツールOrePANをインストールします。
$ cpanm OrePAN
ローカルミラーを作成する
cpanmコマンドを使って、ローカルミラーを作成します。
基本は「--save-dists」オプションを使い、ローカルミラーを作成していきます。
以下のようにcpanmコマンドを実行します。
$ cpanm -L local-tmp --save-dists=cpan-mirror Mojolicious
バージョンを指定してインストールしたい場合は、「Mojolicious@3.82」というように@をつけて指定します。
$ cpanm -L local-tmp --save-dists=cpan-mirror Mojolicious@3.82
Makefile.PLで一括で行いたい場合は、「--installdeps」オプションを使用します。
$ cpanm -L local-tmp --save-dists=cpan-mirror --installdeps .
local-tmpは作業用のディレクトリなので削除してください。
ダウンロードしたファイルの確認は以下のコマンドで行えます。
$ find ./cpan-mirror -name "*.tar.gz"
インデックスの作成
orepan_index.plを利用してインデックスを作成します。
$ orepan_index.pl -r ./cpan-mirror
ローカルミラーからCPANモジュールをインストール
以下のコマンドで依存モジュールをローカルミラーからインストールすることができます。
$ cpanm --mirror=/path/to/cpan-mirror --mirror-only --installdeps .
ローカルミラーに依存モジュールを追加する
Makefile.PLに依存モジュールを追加し、以下のcpanmコマンドを実行します。
$ cpanm --save-dists=cpan-mirror --installdeps .
ローカルミラーに足りないものだけがダウンロードされます。
そして、インデックスを再生成します。
すでにあるインデックスはrmで削除してください。
$ rm cpan-mirror/modules/02packages.details.txt.gz $ orepan_index.pl -r cpan-mirror
オリジナルモジュールを追加する
オリジナルモジュールは「make dist」か「./Build dist」でtarballに変換してください。
作者名を指定してローカルミラーに登録します。
$ orepan.pl -d cpan-mirror -p MEMEMEMOMO Hogehoge.tar.gz
モジュールを削除する
tarballを削除してインデックスを再生しします。
$ rm cpan-mirror/authors/id/M/ME/MEMEMEMOMO/Hogehoge.tar.gz $ rm cpan-mirror/modules/02packages.details.txt.gz $ orepan_index.pl -r cpan-mirror
アンインストールは「App::pmuninstall」を使うと良いでしょう。