CPANモジュールの一括インストール
2011年11月23日既存環境のCPANモジュールを一括してインストール(環境コピー)する方法
【既存サーバのリスト作成】
まずは、CPANモジュールリストを作成するPerlの準備。
[shell]
$ vim ~/cpan.cgi
[/shell]
[perl]
#!/usr/bin/perl
use ExtUtils::Installed;
print join “\n”, ExtUtils::Installed->new->modules;
1;
[/perl]
作成したPerlを実行して、リストを作成する。
[shell]
$ perl ~/cpan.cgi > /tmp/cpan.list
$ cat /tmp/cpan.list
…
Archive::Extract
Archive::Tar
CPAN::Meta
CPAN::Meta::YAML
CPANPLUS
CPANPLUS::Dist::Build
Class::Trigger
Compress::Raw::Bzip2
Compress::Raw::Zlib
Cwd
DBD::mysql
DBI
Digest::SHA
Encode::Locale
ExtUtils::CBuilder
ExtUtils::Command
ExtUtils::Install
ExtUtils::MakeMaker
ExtUtils::ParseXS
File::DirList
File::Fetch
File::Listing
File::Slurp
File::Sort
File::Temp
HTML::Parser
HTML::Selector::XPath
HTML::Tagset
HTML::Tree
HTML::TreeBuilder::XPath
HTTP::Cookies
HTTP::Daemon
HTTP::Date
HTTP::Message
HTTP::Negotiate
HTTP::Tiny
IO::Compress
IO::Stringy
IO::Zlib
IPC::Cmd
IPC::Run
JSON::PP
LWP
LWP::MediaTypes
Locale::Codes
Locale::Maketext::Simple
Log::Message
Log::Message::Simple
Math::BigInt
Math::BigInt::FastCalc
Module::Build
Module::CoreList
Module::Load
Module::Load::Conditional
Module::Loaded
Module::Metadata
Module::Pluggable
Net::HTTP
Object::Accessor
Package::Constants
Params::Check
Parse::CPAN::Meta
Perl
Perl::OSType
Spiffy
Sub::Uplevel
Term::UI
Test::Base
Test::Exception
Test::Harness
Test::Requires
Test::Simple
Text::CSV::Simple
Text::CSV_XS
Tie::RefHash
UNIVERSAL::require
URI
Unicode::Collate
Version::Requirements
WWW::RobotRules
Web::Scraper
XML::XPathEngine
YAML
parent
…
[/shell]
作成したリストから、一気にインストール。
[shell]
$ cat cpan.list | xargs cpan
[/shell]
【通常インストール】
[shell]
# perl -MCPAN -e ‘install Bundle::CPAN’
[/shell]