mymeta-requires man page

mymeta-requires — Extract module requirements from MYMETA files


version 0.006


Usage: mymeta-requires [OPTIONS...]
--runtime     (default: on)
--build       (default: on)
--test        (default: on)
--configure   (default: on)
--develop     (default: off)
--recommends  (default: on)
--suggests    (default: on)
--file,     -f  Specify alternate MYMETA file
--verbose,  -v  Slightly more verbose logging
--report        Report on all prereqs, missing or not
--help,     -h  Usage help
All long-style options may be negated, e.g. "--no-test"


This program extracts CPAN module requirements as recorded in a MYMETA.json or MYMETA.yml file in the current directory and prints them one-per-line to "STDOUT". It is intended to help install prerequisites manually using a CPAN client. For example, with ExtUtils::MakeMaker 6.58 (which writes MYMETA files) and App::cpanminus:

$ perl Makefile.PL
$ mymeta-requires | cpanm

Or with the traditional cpan client:

$ perl Makefile.PL
$ cpan $(mymeta-requires)

The various configuration options allow customizing which prerequisite prerequisite phases and types are extracted. (See "PREREQUITIES" in CPAN::Meta for an explanation of phases and types.)

By default all phases except "develop" are included and types "requires", "recommends" and "suggests". Any phase or type may be negated by prefixing "no-" to the option. E.g.

$ mymeta-requires --no-suggests

If no MYMETA.json or MYMETA.yml file is found, this will fall back to using a META.json or META.yml This is not guaranteed to have all dependencies, but may be useful for bootstrapping configuration requirements. E.g.

# get any configuration requirements
$ mymeta-requires | cpanm
# run configuration
$ perl Makefile.PL
# repeat to get any dynamic dependencies
$ mymeta-requires | cpanm

With "--report", instead of just listing missing prereqs, all the specified prereqs (or default ones) will be listed with their installed version (or listed as missing) along with the prerequisites required.


David Golden <dagolden@cpan.org>