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

Hi Monks. I have built a minicpan on a Gnu/Linux box and now I am struggling with getting cpan (so far, not trying cpanminus or cpanplus) to find and query my local repository. I have a feeling based on SuperSearch and Google, that this has been discussed often, and I ask the esteemed Monks for their forbearance.

My minicpan is rooted at /var/mirrors/minicpan and I am not clear on whether to push file:///var/mirrors/minicpan or file:///var/mirrors/minicpan/sources into urllist. I am also not sure whether there should be 3 slashes after file: or only two.I've tried every combination of these variable things and nothing works. One node, Offline cpan used by strawberry perl seem to indicate that 3 slashes are needed. There is also a discussion over at StackOverflow that inconclusively debates what the pushy_https configure parameter does.

When I write "nothing works" I mean that this happens:

cpan18> install Net::HTTP::Tiny
Warning: Cannot install Net::HTTP::Tiny, don't know what it is.
Try the command
i /Net::HTTP::Tiny/
to find objects with matching identifiers.

This is always the result. I know the packages I want are in my minicpan. Any help would be appreciated.

Jan 22, 2025 at 20:33 UTC

A just machine to make big decisions
Programmed by fellows (and gals) with compassion and vision
We'll be clean when their work is done
We'll be eternally free yes, and eternally young
Donald Fagen -> I.G.Y.
(Slightly modified for inclusiveness)

Replies are listed 'Best First'.
Re: cpan, local mini-mirror, and urllist - can it be made to work?
by marto (Cardinal) on Jan 23, 2025 at 09:11 UTC

    Not sources, it should be:

    urllist 0 [file:///var/mirrors/minicpan]

    Did you do a commit & reload after making changes? What does o conf urllist show for you now? Are the permissions on /var/mirrors/minicpan correct?

      Hello marto and others following the thread. Sorry, a bit delayed getting back to you wrt your helpful suggestions.

      I've tried to check everything on the Gnu/Linux box where I'm working. The urllist is as you told me:

      cpan> o conf urllist
      urllist
      0 [file:///var/mirrors/minicpan]

      The perms on the minicpan dir look correct (I run cpan as user "somian"):


      $ ls -ld . ./*
      drwxrwxr-x 3 root staff 4096 Jan 20 14:29 .
      drwxrwxr-x 4 root staff 4096 Jan 20 14:55 ./minicpan
      ls -ld ./minicpan/*
      drwxr-xr-x 3 somian somian 4096 Jan 21 16:20 ./minicpan/authors
      drwxr-xr-x 2 somian somian 4096 Jan 26 13:57 ./minicpan/modules
      bq.

      The real test diagnostic comes when I try cpanminus (cpanm), like this (made a bash function):

      cpanm --sudo --verbose --cascade-search \
      --mirror file:///var/mirrors/minicpan \
      --mirror https://cpan.metacpan.org/ "$1"

      This works perfectly, and so in a sense my problem is solved. I'd still like to know what the problem with cpan is.

      EDIT

      As marto pointed out, I ought to cite the version:/usr/local/bin/cpan version 1.64.

      Jan 28, 2025 at 20:35 UTC

      A just machine to make big decisions
      Programmed by fellows (and gals) with compassion and vision
      We'll be clean when their work is done
      We'll be eternally free yes, and eternally young
      Donald Fagen -> I.G.Y.
      (Slightly modified for inclusiveness)

        cpanm is my go to, if you still want to know where the cpan problem is I'd look at issues and changelogs, you have not shared which version exhibits the problem.