CPANモジュールの一括インストール
2011年11月23日既存環境のCPANモジュールを一括してインストール(環境コピー)する方法
【既存サーバのリスト作成】
まずは、CPANモジュールリストを作成するPerlの準備。
$ vim ~/cpan.cgi
#!/usr/bin/perl use ExtUtils::Installed; print join "\n", ExtUtils::Installed->new->modules; 1;
作成したPerlを実行して、リストを作成する。
$ 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 ...
作成したリストから、一気にインストール。
$ cat cpan.list | xargs cpan
【通常インストール】
# perl -MCPAN -e 'install Bundle::CPAN'