If you don't have root access, just want to install packages for your own use, or want to install packages into AFS for use from multiple systems, you want [`local::lib`][local::lib]. (It's possible to configure CPAN to do this by hand, but trust me, `local::lib` is easier).
- * Grab the latest `local::lib` tarball from CPAN (As of this writing, that's version [1.8.4][lltgz])
+ * Grab the latest `local::lib` tarball from CPAN (As of this writing, that's version [1.008004][lltgz])
* Unpack the tarball and run
perl Makefile.PL --bootstrap=/path/to/install/
For more details, such as how to manage multiple different `local::lib` installations, see `local::lib`'s [documentation on CPAN][local::lib]
-[local::lib]: http://search.cpan.org/~apeiron/local-lib/lib/local/lib.pm "local::lib"
-[lltgz]: http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
+[local::lib]: http://search.cpan.org/perldoc?local::lib "local::lib"
+[lltgz]: http://www.cpan.org/modules/by-module/lib/local-lib-1.008004.tar.gz
## Automatically installing dependencies
## Gotchas using CPAN on Athena
- * For whatever reason, perl believes itself to be smarter than your operating system by default, and checks permissions by looking at the permission bits on files, rather than using `access(2)`. (See [filetest] (filetest) on CPAN). Furthermore, when installing modules, CPAN checks to see if you have write permissions on the destination, and aborts if it doesn't think you do, without even trying. I have been unable to find a way to override either of these behaviors.
+ * For whatever reason, perl believes itself to be smarter than your operating system by default, and checks permissions by looking at the permission bits on files, rather than using `access(2)`. (See [filetest][filetest] in the Perl docs.) Furthermore, when installing modules, CPAN checks to see if you have write permissions on the destination, and aborts if it doesn't think you do, without even trying. I have been unable to find a way to override either of these behaviors.
This is a problem in AFS for obvious reasons, since AFS does not use UNIX permissions. I happen to only need to install perl modules into lockers on which I am the owner; If you need to install things somewhere where the UNIX permission bits indicate you would not have access, you're out of luck as far as I can tell.
I work around this for BarnOwl by having completely separate perl module installs for every AFS sysname we support. This is painful to maintain, but I've found it to be the most reliable option.
-[filetest]: http://search.cpan.org/~dapm/perl-5.10.1/lib/filetest.pm
+[filetest]: http://perldoc.perl.org/filetest.html
## Cheat-sheet
cpan> install Some::Module
### Installing packages into a directory
- $ wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.004009.tar.gz
- $ tar xzf local-lib-1.004009.tar.gz
- $ cd local-lib-1.004009/
+ $ wget http://www.cpan.org/modules/by-module/lib/local-lib-1.008004.tar.gz
+ $ tar xzf local-lib-1.008004.tar.gz
+ $ cd local-lib-1.008004/
$ perl Makefile.PL --bootstrap=/install/dir/
$ make && make install
$ eval $(perl -I/install/dir/lib/perl5/ -Mlocal::lib)