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

Steven Lembark lembark at wrkhors.com
Sat Dec 27 03:06:52 CST 2003

-- petemar1 <petemar1 at perlmonk.org>

> Is there a way of resolving module dependencies without manually
> installing(munging) everything? I recall there's a cpan module that
> auto-installs modules, but don't remember it's name.

$ cd;
$ mkdir sandbox/
$ cd sandbox;
$ mkdir lib;
$ cvs co <project name>;

# at this point you have a working copy of the project
# under $HOME/sandbox/blah and a library directory in
# $HOME/sandbox/lib
# Now install the module into the sandbox's lib directory

$ cd <wherever>;
$ perl Makefile.PL PREFIX=~/sandbox/lib;
$ make test install; # lets assume it worked...

# now you have a choice. if you can get the SysAdmin's
# to install FindBin::libs then skip the next step.

$ perl -MCPAN -e shell;
> get FindBin::libs;

> cd FindBin-libs-0.13;
> perl Makefile.PL PREFIX=~/sandbox/lib;
$ make test install; # lets assume this works also...

$ cd <project name>;
$ ln -fs ../lib/FindBin .;

# ok, you now have a copy of the module under
# $HOME/sandbox/lib/whatever... now you have a
# choice. if anything perl knows h

$ vi <your #! code>
  add the line "use FindBin::libs;" to your source.

OK, you're done forever. Wherever you land the #! code
if there is any "lib" directory above it that has your
module in it you'll get the module. If you can get the
SA's to install FindBin::libs wherever perl can find it
(default is site_perl/<version>) then you can install
your own code and never worry about invading the holy
santuary of /usr/local again [or getting hit by
lightning for your sins :-].

If they won't install it then the symlink'll do the trick
since '.' is normally on the default @INC (check this via
"perl -V").

There are doc's on setting up a standard sandbox for
shared development or regression testing.

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

More information about the Chicago-talk mailing list