MYMETA-REQUIRES(1)

πŸ“¦
version 0.006 Β· 2 versions
, in fedora 43

πŸ’– MYMETA-REQUIRES πŸ’–

okay so bestie, you know that one little Perl script that lives in the User Contributed Perl Documentation corner of the manual? yeah. that one. this is her. she's called mymeta-requires and she's about to become your new fave. no cap. πŸŽ€


✨ NAME ✨

mymeta-requires β€” extract module requirements from MYMETA files. literally that's the whole job. she reads the file, she tells you what you need. queen behavior. πŸ‘‘


🌸 VERSION 🌸

version 0.006 β€” that's the one, that's the girl. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole vibe, verbatim, don't touch a single character:

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"

note the energy: every single long-style option can be negated, like --no-test. it's giving ✨boundaries✨. 🌈


πŸ’œ DESCRIPTION πŸ’œ

okay so what does she actually do? 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. one. per. line. clean. organized. iconic. 🫢

the whole point is to help you install prerequisites manually using a CPAN client. bestie, this is the "do it yourself but make it cute" route.

for example, with ExtUtils::MakeMaker 6.58 (which writes MYMETA files, slay) and App::cpanminus:

$ perl Makefile.PL
$ mymeta-requires | cpanm

or, if you're feeling traditional, with the classic cpan client:

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

see? piping her straight into your installer. the way that she just works. 😭


πŸŽ€ customizing which prereqs get pulled πŸŽ€

the various configuration options let you customize which prerequisite phases and types are extracted. and yes, bestie, you should absolutely go read "PREREQUITIES" in CPAN::Meta for the whole explanation of phases and types β€” that's where the lore lives. πŸ“š

by default, all phases except develop are included, plus the types requires, recommends and suggests.

and here's the part where she eats: any phase or type may be negated by prefixing no- to the option. e.g.

$ mymeta-requires --no-suggests

just like that. no suggests. bye. πŸ‘‹


🧚 the fallback (iykyk) 🧚

if no MYMETA.json or MYMETA.yml file is found, this will fall back to using a META.json or META.yml.

⚠️ heads up bestie: this is not guaranteed to have all dependencies. it may be useful for bootstrapping configuration requirements though. so like, it's a vibe, not a promise. πŸ™ˆ

e.g.

# get any configuration requirements
$ mymeta-requires | cpanm

# run configuration
$ perl Makefile.PL

# repeat to get any dynamic dependencies
$ mymeta-requires | cpanm

it's the little loop of self-discovery. main character energy fr fr. πŸ’«


πŸ”₯ the --report era πŸ”₯

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.

so you get the full picture, not just the gaps. transparency queen. πŸ‘‘


πŸ’– AUTHOR πŸ’–

David Golden <dagolden@cpan.org> β€” the legend herself. ty for your service. 🫑


This software is Copyright (c) 2011 by David Golden.

This is free software, licensed under:

The Apache License, Version 2.0, January 2004

free software, free license, free vibes. periodt. πŸ’…βœ¨


and that's the whole page bestie!! perl v5.42.0, dated 2025-07-25 β€” that's the build she's running on, and that's the date she got her last glow-up. πŸ¦‹ go forth and mymeta-requires | cpanm your way to a fully installed dependency tree. mwah!! πŸ’‹πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from