mymeta-requires - Man Page

Extract module requirements from MYMETA files

Version

version 0.006

Synopsis

  Usage: mymeta-requires [OPTIONS...]

  PHASE OPTIONS:
  --runtime     (default: on)
  --build       (default: on)
  --test        (default: on)
  --configure   (default: on)
  --develop     (default: off)

  TYPE OPTIONS
  --recommends  (default: on)
  --suggests    (default: on)

  OTHER OPTIONS:
  --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"

Description

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.

Author

David Golden <dagolden@cpan.org>

Info

2024-07-18 perl v5.40.0 User Contributed Perl Documentation