Building notes, projects, and occasional rants

local::lib bootstrap

The local::lib module is an essential piece of my workflow nowadays. It allows me to easily keep each project Perl modules separate, and therefore minimize breakage.

Bootstrapping local::lib was reasonably simple but it got a lot simpler with the latest 1.004001 version. Basically you can just pipe the output of a URL into perl to bootstrap it.

The URL is some long beast in the site, impossible for me to memorize, so I created a shorter version, http::// To bootstrap local::lib you now can:

wget -O- | TARGET=target_dir perl

or if you are a curl user:

curl -L | TARGET=target_dir perl

I wish I didn't have to specify the TARGET environment. It should assume, like the previous bootstrap process, ~/perl5. I'll whip up a patch tomorrow.

There is no permalink to the latest version of the bootstrap script, so until I can find a way to alter the destination URL, we are stuck with the current version of it. I do hope a more definitive URL shows up, like the suggested

The process worked fine for me in a couple of servers around here, but it is not a complete bootstrap. This process installs the local::lib module but doesn't adjust your shell configuration to make the settings stick.

So after you need to run this:

TARGET=perl6 echo "eval  \$(perl -I$TARGET/lib/perl5 \
    -Mlocal::lib)" >>~/.bashrc

(see the local::lib bootstraping section for csh instructions)

Its an excellent service, and it can only get better.