Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

[meta::cpan] Dependency vs Reverse Dependency

by LanX (Sage)
on Jul 07, 2021 at 13:15 UTC ( #11134757=perlquestion: print w/replies, xml ) Need Help??

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


I have multiple theories why this might happen, but maybe someone has just a trivial answer:

what am I missing???

Background: One of my colleagues was struggling with DateTime failing, but only under some circumstances, because Specio couldn't find Ref::Util , but only under some circumstances.

We resolved this by installing Ref::Util (again?)

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re: [Metacpan] Dependency vs Reverse Dependency
by pryrt (Monsignor) on Jul 07, 2021 at 13:29 UTC
    It is not in the list of required modules. But the pod mentions it as an "Optional Prereq", saying that "Installing this will speed up a number of type checks for built-in types."

    Ahh, according to this search, it shows up in the recommends list. So apparently Metacpan's reverse dependency list includes recommended, not just required.

Re: [meta::cpan] Dependency vs Reverse Dependency
by hippo (Bishop) on Jul 07, 2021 at 13:40 UTC
    The page [at metacpan] for Ref::Util lists Specio as "Reverse Dependency"

    The equivalent page at cpantesters does not list it as such. Optional (suggests/recommends) dependencies are treated differently by these two systems so pick whichever one fits better with your own view of what constitutes a reverse dependency.


Re: [meta::cpan] Dependency vs Reverse Dependency
by choroba (Archbishop) on Jul 07, 2021 at 13:30 UTC
      So is an "Optional Prereq" a "Reverse Dependency"?


      I mean by definition not by implementation of Metacpan.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery

        Possibly. For example, some modules may require a JSON parser but be agnostic about which JSON parser. You could install such a module without JSON::XS or without JSON::PP or without JSON::Foo but not without at least one of them. Individually they are not required but collectively at least one of them is. I'm not sure that the existing meta spec handles such a scenario in a logical, intuitive, consistent manner.


        I don't know the definiton, but the implementation seems to be here.
        map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://11134757]
Approved by marto
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (3)
As of 2022-05-21 07:16 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (76 votes). Check out past polls.