CPANモジュールの一括インストール

既存環境の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'