[Chicago-talk] "I don't have permission to install a module on the system!"

Steven Lembark lembark at wrkhors.com
Mon Dec 15 11:10:47 CST 2003



-- petemar1 <petemar1 at perlmonk.org>

> Hello:
>
> http://www.perlmonks.org/index.pl?node_id=128077#permission
> I Read and followed The Friendly, shiny Manual and met with limited
> results when attempting to install modules without root. Any pointers,
> hints or helpful riddles? Does one need root for CPAN.pm?

Use the PREFIX option. You can, for example, create
~/perl5 and let it go from there. The problem you'll
have without acess to some area that perl is looking
for when it starts up is having to use

	use lib "$ENV{HOME}/perl5/lib";

in all of your code. Another approach is to symlink the
necessary lib's from ~/perl5/lib into the current working
directory -- since perl normally has '.' in @INC. Problem
there is that the lib's will be at the end of your search
and won't override out-of-date lib's in the main dir's:

Characteristics of this binary (from libperl):
  Compile-time options: USE_LARGE_FILES
  Built under linux
  Compiled at Nov 26 2003 12:22:49
  @INC:
    /opt/perl5/5.8/lib/5.8.2/i686-linux
    /opt/perl5/5.8/lib/5.8.2
    /opt/perl5/5.8/lib/site_perl/5.8.2/i686-linux
    /opt/perl5/5.8/lib/site_perl/5.8.2
    /opt/perl5/5.8/lib/site_perl
    .


You can get around this with FindBin::libs (see example in
the POD for it), but you'll have to convince the Powers
That Be to install FB::libs into one of perl's hard-coded
locations (it'll normally go into /.lib/site_perl/X.Y.Z/FindBin).

You can also use the -I switch at the command line to include
more dir's, but this precludes much #! code.




--
Steven Lembark                               2930 W. Palmer
Workhorse Computing                       Chicago, IL 60647
                                            +1 888 359 3508



More information about the Chicago-talk mailing list