How can I install Perl CPAN locally as a non-root user?

Every now and then we encounter a Stack Overflow answer that cuts through hours of searching and aborted attempts at fixes with a few lines of elegance. Here's one I just deployed, figured I would point others to it as well in case Google brings you here...

The easiest method I have found so far is to say

wget -O- | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile

This assumes your profile is named .profile, you may need to change that to be .bash_profile, .bashrc, etc. After that you can install modules by saying

cpanm Module::Name

and simply use them the same way you would if the were installed in the root directories.


Posted in Developing Software on Aug 10, 2017