This document shows you the steps to install PERL modules locally without root access on a node.
PERL comes with a single library $PERL_HOME/lib which contains the standard and recommended modules. This is usually in a system location where you cannot install your modules. PERL also has a default value for a directory where
users can install their own PERL modules. On workstations we suggest using the ~/local/perl5libs/lib/perl5 location. This directory doesn't exist by default. The first time a user installs a PERL module, it will be created. You have
to include this path in your PERL5LIB environment variable.
First you need to load the module for PERL:
module load perlTo install package DBD::SQLite, use this command:
cpanm --local-lib ~/local/perl5libs DBD::SQLiteIts output should be something similar to this:
--> Working on DBD::SQLite
Fetching http://www.cpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.64.tar.gz ... OK
Configuring DBD-SQLite-1.64 ... OK
Building and testing DBD-SQLite-1.64 ... OK
Successfully installed DBD-SQLite-1.64
1 distribution installedNow let's check that perl can find DBD::SQLite:
> export PERL5LIB=~/local/perl5libs/lib/perl5
> perl -MDBD::SQLite -le 'print $INC{"DBD/SQLite.pm"}'
/home/<YOUR USERNAME>/local/perl5libs/lib/perl5/x86_64-linux-thread-multi/DBD/SQLite.pmThis command shows PERL include path:
perl -e 'print "@INC"'First you need to load the module for PERL:
module load perlWe're assuming you have a directory structure as outlined in Creating My Own Modules.
Let's download or copy the package to your local directory:
cd ~/local/src/packages
cp <SOMEWHERE SHARED>/DBD-SQLite-1.64.tar.gz .Or you can download it:
cd ~/local/src/packages
wget http://www.cpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.64.tar.gzTo install package DBD::SQLite, use this command:
cpanm --local-lib ~/local/perl5libs ~/local/src/packages/DBD-SQLite-1.64.tar.gzIts output should be something similar to this:
--> Working on DBD::SQLite
--> Working on /home/<YOUR USERNAME>/local/src/pakacges/DBD-SQLite-1.64.tar.gz
Fetching file:///home/<YOUR USERNAME>/local/src/pakacges/DBD-SQLite-1.64.tar.gz ... OK
Configuring DBD-SQLite-1.64 ... OK
Building and testing DBD-SQLite-1.64 ... OK
Successfully installed DBD-SQLite-1.64
1 distribution installedNow let's check that perl can find DBD::SQLite:
> export PERL5LIB=~/local/perl5libs/lib/perl5
> perl -MDBD::SQLite -le 'print $INC{"DBD/SQLite.pm"}'
/home/<YOUR USERNAME>/local/perl5libs/lib/perl5/x86_64-linux-thread-multi/DBD/SQLite.pmThis command shows PERL include path:
perl -e 'print "@INC"'Just delete the files in your local PERL library path.
Documentation from CPAN Minus.