develooper Front page | perl.module-authors | Postings from November 2005

Re: When CPAN shell cannot find a module

Thread Previous | Thread Next
From:
David Manura
Date:
November 23, 2005 19:49
Subject:
Re: When CPAN shell cannot find a module
Message ID:
438537AF.3030903@math2.org
Well, I'm glad someone brought this up.

I've always gotten the CPAN shell's "i" and "install" commands mixed up 
and have often wanted to pass a distribution name to it.  First, the 
online help ("?" command) and error messages are not entirely helpful.  
Second, "i" appears too much like a shortcut for "install".  And third, 
the CPAN shell's "install" command very much resembles ActiveState's PPM 
"install" command, but the latter expects you to specify a distribution 
name and also has "i" as a shortcut (you can see why one would get 
confused):

=====
  ppm> install DBIx-Simple         # or "i DBIx-Simple"
  # --installs distribution

  ppm> install DBIx::Simple
Searching for 'DBIx::Simple' returned multiple results. Using 'search' 
instead..
Searching in Active Repositories
  1. DBIx-Simple      [1.26] Easy-to-use OO interface to DBI
  2. DBIx-Simple-OO   [0.01] Retrieve database rows as objects
  3. DBIx-Simple-OO   [0.01] Retrieve database rows as objects
  4. DBIx-SimpleQuery [0.02] Query databases using as little code as 
possible
  5. DBIx-SimpleQuery [0.02] Query databases using as little code as 
possible
=====

The other gripes I've had about the CPAN shell are it's verbosity (e.g. 
tons of meaningless messages like "LWP not available"), the 
cumbersomeness in figuring out how to fix a broken urllist, and the 
sheer number of questions it asks you when you go to first configure 
it.  I don't want to specify that my pager will be /usr/bin/less.  In 
fact, I don't want to configure anything.  I just want to say "install 
ABC-XYZ" (much like PPM), and _iff_ there is any ambiguity, then prompt 
me with suggestions (help me out a little).  All-in-all, it seems that a 
simple thing like this should be simple:

  "I just want to install ABC-XYZ (i.e. the latest version of this 
distribution, and I don't care how you do it)."

I tried out CPANPLUS tonight, which I read is the next generation CPAN 
shell.  I find some improvements here in terms of online help and 
reduced verbosity.

Cygwin (www.cygwin.com) has an example of a fairly user-friendly 
installer.  However, even this could be improved: it could ask fewer 
questions (or not repeat them every time it is run), and a 
search/filtering tool would be useful since the Cygwin package list is 
getting quite lengthy.

--davidm


Christopher Hicks wrote:

> On Mon, 21 Nov 2005, Ken Williams wrote:
>
>> Think about what would happen if Satan uploaded a malicious 
>> distribution called "PathTools" with a higher version number than 
>> mine.  You'd want the whole world to get Satan's distribution by 
>> default, just so they can save a couple keystrokes?
>
>
> Any ambigious situations such as that could easily be handled by 
> asking the user "KWILLIAMS and SATAN both are providing PathTools, 
> which would you like?" or having it spit out a list of choices and let 
> the user implicitly pick by then doing the "install AUTH/dist...gz" at 
> that point. Is there some REAL chance of harm in what we're talking 
> about here that couldn't be trivially ameliorated such as here?
>
> My previous suggestion of having an explicit mapping would help avoid 
> getting the wrong person's PathTools.  It wouldn't have to track 
> versions in the map since "PathTools" could map to KWILLIAMS/PathTools 
> and determine the latest from that.  And as I pointed out the issue 
> here isn't merely distnames, but common misimpressions.  Being able to 
> "install Template::Toolkit" won't cause the universe to blow-up.
>
>> Also, "lack of distname support" is overblowing the situation. 
>> Distnames are supported perfectly fine as long as you put it in the 
>> proper syntax with author's ID and version.
>
>
> The proper syntax in this case is unnecessarily complex and utterly 
> nonobvious to all but the Perl cognescenti.  That seems a pretty harsh 
> way to treat sysadmins stuck with installing Perl-based applications 
> who may have no prior Perl experience whatsoever.  If there were some 
> real harm in making it easier it might make sense to me, but maybe 
> somebody can share with me something that's not a red herring that 
> will help me get it.
>


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About