1CPANDEPS(1) User Contributed Perl Documentation CPANDEPS(1)
2
3
4
6 cpandeps - show a module on the CPAN's dependency tree.
7
9 This program is a simple wrapper around CPAN::FindDependencies.
10
12 cpandeps CPAN::FindDependencies
13
14 cpandeps CPAN::FindDependencies --perl 5.8.8 --cachedir ../foo/bar
15
16 cpandeps CPAN::FindDependencies --showmoduleversions
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;
27
28 fatalerrors
29 Failure to get a module's dependencies will be a fatal error
30 instead of merely emitting a warning;
31
32 perl
33 Use this version of perl to figure out what's in core. If not
34 specified, it defaults to 5.005. Three part version numbers (eg
35 5.8.8) are supported but discouraged.
36
37 cachedir
38 A directory to use for caching. It defaults to no caching. Even
39 if caching is turned on, this is only for META.yml or Makefile.PL
40 files.
41
42 The cache is never automatically cleared out. It is your
43 responsibility to clear out old data.
44
45 maxdepth
46 Cuts off the dependency tree at the specified depth. Your
47 specified module is at depth 0, your dependencies at depth 1, their
48 dependencies at depth 2, and so on.
49
50 If you don't specify any maxdepth at all it will grovel over the
51 entire tree.
52
53 mirror
54 This can be provided more than once, if for example you want to use
55 a private Pinto repository for your own code while using a public
56 CPAN mirror for open source dependencies. The argument comes in two
57 parts separated by a comma - the base URL from which to fetch
58 files, and optionally the URL or a file from which to fetch the
59 index "02packages.details.txt.gz" file to use with that mirror.
60
61 mirror https://cpan.mydomain.net,file:///home/me/mycache/02packages.txt.gz
62
63 If you want to use the default CPAN mirror
64 (https://cpan.metacpan.org/) but also specify an index location you
65 can use "DEFAULT" for the mirror URL.
66
67 So for example, to use your own special private mirror, including
68 fetching 02packages from it, but also use the default mirror with a
69 cached local copy of its 02packages, specify two mirrors thus:
70
71 mirror => 'https://cpan.mydomain.net',
72 mirror => 'DEFAULT,file:///home/me/mycache/02packages.txt.gz'
73
74 The index is cached for three minutes or until your process
75 finishes, whichever is soonest. This is because it is HUMUNGOUS and
76 parsing it takes ages even when it's loaded from a local disk, and
77 I don't want the tests to take forever.
78
79 usemakefilepl
80 If set to true, then for any module that doesn't have a META.yml,
81 try to use its Makefile.PL as well. Note that this involves
82 downloading code from the Internet and running it. This obviously
83 opens you up to all kinds of bad juju, hence why it is disabled by
84 default. NB that this fetches Makefile.PL from
85 <https://fastapi.metacpan.org> only so will not work for private
86 mirrors. This is a deliberate choice, your own private code ought
87 to be packaged properly with a META file, you should only care
88 about divining dependencies from Makefile.PL if you rely on really
89 old stuff on public CPAN mirrors.
90
91 recommended
92 Adds recommended modules to the list of dependencies, if set to a
93 true value.
94
95 suggested
96 Adds suggested modules to the list of dependencies, if set to a
97 true value.
98
99 It also takes the following extra parameter:
100
101 --showmoduleversions
102 If present, the required version of each module is also shown
103
104 It shows the module name, its distribution, and if any warnings were
105 raised (such as if a module's dependencies couldn't be fetched) this is
106 indicated with an asterisk before the module's name.
107
109 Up to version 2.49 you used the "02packages" argument to specify where
110 a cached "02packages.details.txt.gz" could be found. That argument no
111 longer exists as of version 3.00, use the "mirror" argument instead.
112
113 Up to version 2.49, "maxdepth => 0" would incorrectly return the whole
114 tree. From version 3.00 it cuts the tree off at its root so will only
115 return the module that you asked about. Not very useful, but correct.
116
117 In version 2.49 you used the "configreqs" argument to specify that you
118 were interested in configure-time requirements as well as build- and
119 run-time requirements. That option no longer exists as of version 3.00,
120 it will always report on configure, build, test, and run-time
121 requirements.
122
124 This script has not been thoroughly tested.
125
126 I welcome feedback about my code, including constructive criticism.
127 Bug reports should be made on Github or by email.
128
130 CPAN::FindDependencies
131
132 <http://deps.cpantesters.org/>
133
135 Copyright 2007 - 2020 David Cantrell <david@cantrell.org.uk>
136
137 This software is free-as-in-speech software, and may be used,
138 distributed, and modified under the terms of either the GNU General
139 Public Licence version 2 or the Artistic Licence. It's up to you which
140 one you use. The full text of the licences can be found in the files
141 GPL2.txt and ARTISTIC.txt, respectively.
142
144 This software is also free-as-in-mason.
145
146
147
148perl v5.32.1 2021-02-25 CPANDEPS(1)