end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転します

App::cpanminus と OrePAN で、localにcpan mirrorを作成し、そこからinstall

internetに接続されていない環境に 対象のperl moduleをinstallする必要があったので、OrePANを使ってみみた。

前準備

事前に本番機には、App::cpanminus (cpanmコマンド)、 開発機?には、OrePAN + App::cpanminus (cpanmコマンド)をinstallしておいて下さい。

開発機にcpan-mirror を作成し、本番機へscp

$ cpanm -L local-tmp --save-dists=cpan-mirror Plack::Middleware::ReverseProxy 
$ cpanm -L local-tmp --save-dists=cpan-mirror Amon2
$ cpanm -L local-tmp --save-dists=cpan-mirror DBI
$ cpanm -L local-tmp --save-dists=cpan-mirror DBD::SQLite
$ cpanm -L local-tmp --save-dists=cpan-mirror DBD::mysql
$ cpanm -L local-tmp --save-dists=cpan-mirror DBIx::Class
  :

↑こちらのようなコマンドで、search.cpan.org からmodule ダウンロードのみ行います。

その後、↓こちらのコマンドでmodule一覧(index file)を作成し、 cpan-mirrorを本番機へscpします。

$ orepan_index.pl -r ./cpan-mirror
$ tar -zcvf cpan-mirror.tar.gz cpan-mirror/
$ scp -i ~/.ssh/id_rsa cpan-mirror.tar.gz ???.???.???.???:tmp/

本番ではscpされたcpan-mirrorからinstall

後は簡単。

# cd /home/endo
# cpanm --mirror=file:///home/endo/cpan-mirror --mirror-only --installdeps Amon2
# cpanm --mirror=file:///home/endo/cpan-mirror --mirror-only --installdeps DBI
   :