mymeta-requires - Man Page

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 <>


2024-01-25 perl v5.38.2 User Contributed Perl Documentation