How do I install CPAN modules while using perlbrew?
Solution 1
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
Solution 2
Everything should be working fine with "cpan" as well as "cpanm", that is: when switching perl with perlbrew, cpan sees the installed modules of the version you use.
While it's true that cpanm is the recommended tool to use with perlbrew, cpan allows for test reporting so that is what I always use.
David B
Updated on July 09, 2022Comments
-
David B almost 2 years
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
andhash -r
), verified the switch was successful (perl -v
) then tried installing some module (File::Copy::Recursive
usingcpan
. 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 manyperl-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
? -
Joshua Richardson about 10 yearsBtw., in case you didn't know (as I didn't), cpanm is a cpan alternative, which works better with perlbrew. After installing as above, then you can use, e.g. "cpanm install File::Copy::Recursive", etc.
-
Eugen Konkov almost 6 years@JoshuaRichardson: Notice
cpanm install
will try to installinstall
module. becausecpanm
has not such command:Usage: cpanm [options] Module [...]