1CPANDEPS(1)           User Contributed Perl Documentation          CPANDEPS(1)
2
3
4

NAME

6       cpandeps - show a module on the CPAN's dependency tree.
7

DESCRIPTION

9       This program is a simple wrapper around CPAN::FindDependencies.
10

SYNOPSIS

12           cpandeps CPAN::FindDependencies
13
14           cpandeps --perl 5.8.8 --cachedir ../foo/bar CPAN::FindDependencies
15
16           cpandeps --showmoduleversions CPAN::FindDependencies
17
18       Given a module name, this program will show you the module's dependency
19       tree.  It takes exactly the same arguments as the "finddeps" function
20       of CPAN::FindDependencies, with the exception that "nowarnings" is
21       turned *on* by default:
22
23       nowarnings
24           Warnings about modules where we can't find their META.yml or
25           Makefile.PL, and so can't divine their pre-requisites, will be
26           suppressed. Other warnings may still be emitted though, such as
27           those telling you about modules which have dodgy (but still
28           understandable) metadata;
29
30       fatalerrors
31           Failure to get a module's dependencies will be a fatal error
32           instead of merely emitting a warning;
33
34       perl
35           Use this version of perl to figure out what's in core.  If not
36           specified, it defaults to 5.005.  Three part version numbers (eg
37           5.8.8) are supported but discouraged.
38
39       cachedir
40           A directory to use for caching.  It defaults to no caching.  Even
41           if caching is turned on, this is only for META.yml or Makefile.PL
42           files.
43
44           The cache is never automatically cleared out. It is your
45           responsibility to clear out old data.
46
47       maxdepth
48           Cuts off the dependency tree at the specified depth.  Your
49           specified module is at depth 0, your dependencies at depth 1, their
50           dependencies at depth 2, and so on.
51
52           If you don't specify any maxdepth at all it will grovel over the
53           entire tree.
54
55       mirror
56           This can be provided more than once, if for example you want to use
57           a private Pinto repository for your own code while using a public
58           CPAN mirror for open source dependencies. The argument comes in two
59           parts separated by a comma - the base URL from which to fetch
60           files, and optionally the URL or a file from which to fetch the
61           index "02packages.details.txt.gz" file to use with that mirror.
62
63             mirror https://cpan.mydomain.net,file:///home/me/mycache/02packages.txt.gz
64
65           If you want to use the default CPAN mirror
66           (https://cpan.metacpan.org/) but also specify an index location you
67           can use "DEFAULT" for the mirror URL.
68
69           So for example, to use your own special private mirror, including
70           fetching 02packages from it, but also use the default mirror with a
71           cached local copy of its 02packages, specify two mirrors thus:
72
73             mirror => 'https://cpan.mydomain.net',
74             mirror => 'DEFAULT,file:///home/me/mycache/02packages.txt.gz'
75
76           The index is cached for three minutes or until your process
77           finishes, whichever is soonest. This is because it is HUMUNGOUS and
78           parsing it takes ages even when it's loaded from a local disk, and
79           I don't want the tests to take forever.
80
81       usemakefilepl
82           If set to true, then for any module that doesn't have a META.yml,
83           try to use its Makefile.PL as well.  Note that this involves
84           downloading code from the Internet and running it.  This obviously
85           opens you up to all kinds of bad juju, hence why it is disabled by
86           default. NB that this fetches Makefile.PL from
87           <https://fastapi.metacpan.org> only so will not work for private
88           mirrors.  This is a deliberate choice, your own private code ought
89           to be packaged properly with a META file, you should only care
90           about divining dependencies from Makefile.PL if you rely on really
91           old stuff on public CPAN mirrors.
92
93       recommended
94           Adds recommended modules to the list of dependencies, if set to a
95           true value.
96
97       suggested
98           Adds suggested modules to the list of dependencies, if set to a
99           true value.
100
101       It also takes the following extra parameter:
102
103       --showmoduleversions
104           If present, the required version of each module is also shown
105
106       It shows the module name, its distribution, and if any warnings were
107       raised (such as if a module's dependencies couldn't be fetched) this is
108       indicated with an asterisk before the module's name.
109

INCOMPATIBLE CHANGES

111       Up to version 2.49 you used the "02packages" argument to specify where
112       a cached "02packages.details.txt.gz" could be found. That argument no
113       longer exists as of version 3.00, use the "mirror" argument instead.
114
115       Up to version 2.49, "maxdepth => 0" would incorrectly return the whole
116       tree. From version 3.00 it cuts the tree off at its root so will only
117       return the module that you asked about. Not very useful, but correct.
118
119       In version 2.49 you used the "configreqs" argument to specify that you
120       were interested in configure-time requirements as well as build- and
121       run-time requirements. That option no longer exists as of version 3.00,
122       it will always report on configure, build, test, and run-time
123       requirements.
124

TREE PRUNING

126       The dependency tree is pruned to remove duplicates. This means that
127       even though "Test::More", for example, is a dependency of almost
128       everything on the CPAN, it will only be listed once.
129

WARNINGS, BUGS and FEEDBACK

131       This script has not been thoroughly tested.
132
133       I welcome feedback about my code, including constructive criticism.
134       Bug reports should be made on Github or by email.
135

SEE ALSO

137       CPAN::FindDependencies
138
139       <http://deps.cpantesters.org/>
140
142       Copyright 2007 - 2020 David Cantrell <david@cantrell.org.uk>
143
144       This software is free-as-in-speech software, and may be used,
145       distributed, and modified under the terms of either the GNU General
146       Public Licence version 2 or the Artistic Licence. It's up to you which
147       one you use. The full text of the licences can be found in the files
148       GPL2.txt and ARTISTIC.txt, respectively.
149

CONSPIRACY

151       This software is also free-as-in-mason.
152
153
154
155perl v5.38.0                      2023-07-20                       CPANDEPS(1)
Impressum