I'm using a hosted Linux machine so I don't have permissions to write
into the /usr/lib
directory.
When I try to install a CPAN module by doing the usual:
perl Makefile.PL
make test
make install
That module is extracted to a blib/lib/
folder. I have kept use
blib/lib/ModuleName
but it still the compiler says module can not be
found. I have tried copying the .pm file into local directory and kept
require ModuleName
but still it gives me some error.
How can I install a module into some other directory and use it?
Other answers already on Stackoverflow:
From perlfaq8:
When you build modules, tell Perl where to install the modules.
For Makefile.PL-based distributions, use the INSTALL_BASE option when generating Makefiles:
perl Makefile.PL INSTALL_BASE=/mydir/perl
You can set this in your CPAN.pm configuration so modules automatically install in your private library directory when you use the CPAN.pm shell:
% cpan
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
cpan> o conf commit
For Build.PL-based distributions, use the --install_base option:
perl Build.PL --install_base /mydir/perl
You can configure CPAN.pm to automatically use this option too:
% cpan
cpan> o conf mbuildpl_arg '--install_base /mydir/perl'
cpan> o conf commit