I've stopped using CPAN and am trying to stay away from CPANPLUS, mainly because CPAN always seemed to D/L a horde of Modules on first setup (which wasn't too bad in itself) but it also grabbed the latest version of Perl and made you get the latest version. This had bad side effects with some of the scripts which I was running. So I use make on all of the modules I install on the production servers I setup.
Does CPANPLUS have better dependancy handling?
BlackJudas | [reply] [Watch: Dir/Any] |
CPANPLUS should work with core Perl, although it is a lot
happier if you will let it install some modules during
setup, especially on machines where it might be difficult
to use binaries. Certain options, such as md5 checks,
require that module be installed. However, if you don't
want these modules installed you can decline them during
configuration (if you do want them, CPANPLUS will handle
the installation before it installs itself).
As for the normal prereq handling, CPANPLUS allows you
to select whether you should always follow prereqs,
never follow prereqs, or prompt for each.
CPANPLUS will decline to install new versions of Perl.
It will let you download them, if you like, but because
Perl should be installed quite interactively, CPANPLUS
insists you do it yourself.
One advantage you may find to CPANPLUS--which I mention
since you talk about production
servers--is the programmer's
interface which makes it easier to maintain modules on
multiple machines. You can set up an install script to
install the same modules on multiple machines (and handle
known issues with modules and the like). CPAN.pm does
allow this, but by poking through the shell. By
comparision CPANPLUS is a lot cleaner, since it was
designed with the programmer's interface in mind (shells
are just layers on top of the interface). Check out
Backend
for more information on the programmer's
interface. It's worth noting, however, that this
is version .036, and the interface changes significantly
(which it may continue to do until release 1.0)
in the upcoming .04 (in particular, return values become
objects).
| [reply] [Watch: Dir/Any] |