Perl – How to set up a local CPAN mirror

administrationcpanperl

What do I need to set up and maintain a local CPAN mirror? What scripts and best practices should I be aware of?

Best Solution

CPAN::Mini is the way to go. Once you've mirrored CPAN locally, you'll want to set your mirror URL in CPAN.pm or CPANPLUS to the local directory using a "file:" URL like this:

file:///path/to/my/cpan/mirror

If you'd like your mirror to have copies of development versions of CPAN distribution, you can use CPAN::Mini::Devel.

Update:

The "What do I need to mirror CPAN?" FAQ given in another answer is for mirroring all of CPAN, usually to provide another public mirror. That includes old, outdated versions of distributions. CPAN::Mini just mirrors the latest versions. This is much smaller and for most users is generally what people would use for local or disconnected (laptop) access to CPAN.