How do I install CPAN modules while using perlbrew?

David B picture David B · Sep 17, 2010 · Viewed 24.8k times · Source

I have started using perlbrew and installed perl-5.12.2.

I understand I need to re-install my CPAN modules, so I switched to my new Perl version (perlbrew switch perl-5.12.2 and hash -r), verified the switch was successful (perl -v) then tried installing some module (File::Copy::Recursive using cpan. However, cpan says `File::Copy::Recursive is up to date (0.38).

When I start a Perl script using this module, it shouts Can't locate File/Copy/Recursive.pm in @INC ... (showing many perl-5.12.2 locations). When I switch back to my 'normal' Perl (perlbrew off) the script runs fine.

Any suggestions? Perhaps CPAN does not work well with perlbrew?

Answer

jacktrade picture jacktrade · Mar 1, 2013

After installing perlbrew you could install cpanm through this command:

perlbrew install-cpanm

Otherwise you will need to install cpanm manually each time you switch your Perl version on perlbrew. With this command just once.

Once installed you can then use cpanm to install the missing module:

cpanm File::Copy::Recursive