This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
usage_on_fly [2012/02/23 18:09] k2patel created |
usage_on_fly [2020/08/10 02:35] (current) |
||
---|---|---|---|
Line 4: | Line 4: | ||
==== To install Modules Locally ==== | ==== To install Modules Locally ==== | ||
- | Best way to install local module is to install module "local::lib".\\ | + | |
- | [[http://search.cpan.org/~apeiron/local-lib/ | CPAN Local::lib ]] | + | local::lib enables you to install modules into a specified directory, \\ |
+ | without requiring root or administrator access. See the bootstrapping technique for how to get started.\\ | ||
+ | You can create a directory per user/project/company and deploy to other servers,\\ | ||
+ | by copying the directory (as long as you are on the same operating system). | ||
+ | |||
+ | |||
+ | [[http://search.cpan.org/~apeiron/local-lib/ | CPAN Local::lib ]]\\ | ||
But you can also manually do it. | But you can also manually do it. | ||
+ | |||
+ | **First export your username** | ||
<code bash> | <code bash> | ||
+ | export username=ketan | ||
+ | </code> | ||
+ | |||
+ | <note warning>Still you have to modify / change "$username" manually at many places</note> | ||
+ | |||
+ | **create the .cpan directories** | ||
+ | |||
+ | <code oobas> | ||
+ | mkdir $HOME/.cpan/ | ||
+ | mkdir $HOME/.cpan/CPAN/ | ||
+ | # This is so it ignores the global CPAN config | ||
+ | |||
+ | echo "\$CPAN::Config->{cpan_home}='/home/$username/.cpan';" > /home/$username/.cpan/CPAN/MyConfig.pm | ||
+ | </code> | ||
+ | Then Execute a CPAN shell | ||
+ | |||
+ | <code oobas> | ||
+ | perl -MCPAN -e shell | ||
+ | OR | ||
+ | cpan | ||
+ | </code> | ||
+ | Then when in the shell type: | ||
+ | |||
+ | <code oobas> | ||
+ | o conf init | ||
+ | </code> | ||
+ | <note>to reconfigure CPAN, replace all */root/.cpan/* with /home/$username/.cpan/*</note> | ||
+ | |||
+ | change the makepl_arg so it should look like. | ||
+ | |||
+ | <code bash | /home/$username/.cpan/CPAN/MyConfig.pm> | ||
+ | 'makepl_arg' => q[INSTALLDIRS=site PREFIX=/home/$username/perl/], | ||
+ | </code> | ||
+ | Finally the env variable PERL5LIB needs to point to the new module installation paths: | ||
+ | |||
+ | <code oobas> | ||
+ | export PERL5LIB="/home/$username/perl/share/perl/custom_lib/:/home/$username/perl/lib/perl/custom_lib/"; | ||
+ | </code> | ||
+ | and then you should be able to use CPAN to install modules. | ||
+ | |||
+ | I then modified following file | ||
+ | |||
+ | <code bash | ~/.bashrc> | ||
+ | export PERL_LOCAL_LIB_ROOT="/home/$username/perl"; | ||
+ | export PERL_MB_OPT="--install_base /home/$username/perl"; | ||
+ | export PERL_MM_OPT="INSTALL_BASE=/home/$username/perl"; | ||
+ | export PERL5LIB="/home/$username/perl/share/perl/custom_lib/:/home/$username/perl/lib/perl/custom_lib/"; | ||
+ | export PATH="/home/$username/perl/bin:$PATH"; | ||
+ | </code> |