moritz has asked for the wisdom of the Perl Monks concerning the following question:

Recently I and other have had trouble installing latest versions of some modules, or upgrading to them. This happens both with CPAN.pm and with App::cpanminus

$ cpanm HTML::Template HTML::Template is up to date. (2.9) $ cpanm WONKO/HTML-Template-2.10.tar.gz # installs HTML::Template 2.10

This is an up-to-date App::cpanminus version 1.4008 on top of perl 5.14.1.

The same happens with CPAN.pm, and is independent of the used CPAN mirror (I've tried several that are usually rather reliable).

The search.cpan.org doesn't show the latest version as an unauthorized release, nor is it a developer release.

And I'm not the only one, tinita has experienced similar trouble, which boiled down to

i HTTP::DetectUserAgent CPAN_FILE N/NA/NANZOU/HTTP-DetectUserAgent-0.01.tar.gz ls nanzou 6707 2009-10-31 NANZOU/HTTP-DetectUserAgent-0.02.tar.gz

So CPAN.pm knows about both modules, but choses the older one by default.

For a moment I blamed network troubles in CPAN land, but that problem was also observed way before that notice.

So, does the PAUSE indexer have trouble updating the module lists? or is something else wonky? Who can fix it?

  • Comment on Why don't CPAN.pm and cpanminus update modules, even if they know about newer modules?
  • Select or Download Code

Replies are listed 'Best First'.
Re: Why don't CPAN.pm and cpanminus update modules, even if they know about newer modules?
by Anonymous Monk on Aug 03, 2011 at 13:36 UTC

    So, does the PAUSE indexer have trouble updating the module lists?

    That happens from time to time. See Is 02packages.details.txt.gz outdated?, Why isn't a newer version of a module installable from cpan?

    I can confirm, it appears to have happened again :/

    $ cpanp l HTML::Template HTTP::DetectUserAgent [MSG] Checking if source files are up to date Details for 'HTML::Template' Author Sam Tregar (sam@tregar.com) Description a simple HTML templating system Development Stage Mature (no rigorous definition) Interface Style Object oriented using blessed references and/ +or inheritance Language Used Perl-only, no compiler needed, should be plat +form independent Package HTML-Template-2.9.tar.gz Public License Standard-Perl: user may choose between GPL an +d Artistic Support Level Mailing-list Version on CPAN 2.9 Contains: HTML::Template + 2.9 Details for 'HTTP::DetectUserAgent' Author Takaaki Mizuno (cpan@takaaki.info) Description None given Development Stage Unknown Interface Style Unknown Language Used Unknown Package HTTP-DetectUserAgent-0.01.tar.gz Public License Unknown Support Level Unknown Version on CPAN 0.01 Contains: HTTP::DetectUserAgent + 0.01

    Also of interest is http://mirrors.cpan.org/ the status of CPAN mirrors

    perl.org having http://log.perl.org/2011/08/network-trouble.html

Re: Why don't CPAN.pm and cpanminus update modules, even if they know about newer modules?
by tinita (Parson) on Aug 10, 2011 at 14:11 UTC
    learned something new today from akoenig: usually there is a reason for a module not getting indexed, and the author gets an email with that reason.
    But in case of HTML::Template 2.9 -> 2.10 it's just that 2.10 is a lower version than 2.9, unfortunately.

    So whenever you are missing a module in the index, the author has probably gotten an email about that, but it doesn't hurt to create a bug report (emails get lost, bug reports don't =)
Re: Why don't CPAN.pm and cpanminus update modules, even if they know about newer modules?
by Khen1950fx (Canon) on Aug 03, 2011 at 23:12 UTC
    CPAN, cpanm, and PAUSE are alive and well. If you look closely at HTML::Template v2.10, you'll see that SAMTREGAR maintained it through v2.09; however, v2.10 is co-maintained by Michael Peters, cpan_id WONKO. I think the problem is that, looking at the lib, the author is listed as Sam Tregar, but in the Meta.yml, the author is listed as Michael Peters. I believe that it's a mistake in the module, not a bug in CPAN, cpanm, or PAUSE that's causing the problems.

      You claimed such before, but what proof do you have that it makes a difference to the pause indexer?

      META.yml#author is only documented as being used for contact information, not for pause/modlist generation, so if this is the cause, it is a bug in the pause indexer and not in the module.

      I think that's highly speculative. First the explanation doesn't apply to HTTP-DetectUserAgent, which hasn't changed author between releases and still isn't installed correctly.

      Second, there are plenty of modules that have multiple release managers, but where the META.{yaml,json} lists a single person consistently. For example Moose, last release by DOY, lists Stevan Little as the author in META.json.