I have several Linux machines that run Perl programs and other programs and tools.
I want to keep all tools between machines synchronized, so I have shared the /usr/local
directory between one machine (Main) and the others.
Now I would like to keep all my Perl modules and their dependencies synchronized as well in /usr/local/<path to modules>
.
I have found the local::lib
module, but that is intended to install modules to your home directory.
How can I set up CPAN (or CPAN alternatives) to install all modules and dependencies to one location? And how can I set up Perl on other machines to use that location to find modules?
For our convenience, let's assign the base location to a variable: (This var isn't used by anything but the following commands. There's actually no need to
export
it.)Instruct ExtUtils::MakeMaker where to install: (This assumes
$PERL_BASE
doesn't include any shell metacharacters)Instruct Module::Build where to install: (This assumes
$PERL_BASE
doesn't include any shell metacharacters)Instruct Perl where to look for modules: (This assumes
$PERL_BASE
doesn't include:
)Instruct the system where to look for scripts: (This assumes
$PERL_BASE
doesn't include:
)Instruct the system where to look for man pages: (This assumes
$PERL_BASE
doesn't include:
)All together: