CPAN-SYSDEPS(1)
CPAN-SYSDEPS(1) π
okay bestie, welcome to cpan-sysdeps β a User Contributed Perl Documentation moment, and honestly? it's giving β¨dependency detectiveβ¨. buckle up, we're finding out which system packages your CPAN modules are gonna need. π
NAME π¦
cpan-sysdeps β report system dependencies for CPAN modules
like, it literally tells you what your system needs. no cap. π
SYNOPSIS β¨
cpan-sysdeps --cpanmod Foo::Bar
cpan-sysdeps --cpandist Foo-Bar-1.23.tar.gz
two ways in, pick your fighter π«Ά
DESCRIPTION π§
bestie. bestie. there is genuinely nothing here in the original. the DESCRIPTION section is just... vibes. empty. a blank canvas. π
the whole personality of this page lives in OPTIONS, so scroll down, i got you. π
OPTIONS π
pick your CPAN thing (mandatory, fr fr) πΈ
you need at least one of these two. not optional. the tool will simply not know what you're talking about otherwise. π
--cpandist=Dist-Nameβ you're naming a CPAN distribution. feed it a dist name and it goes off. π«--cpanmod=Dist::Nameβ you're naming a CPAN module. give it the module name instead. π
at least one of these two is mandatory. like, actually mandatory. π
pretend you're on a whole different machine π¦
these ones let you simulate another environment. cosplay, but for operating systems. iconic.
--os=operatingsystemβ changes the operating system name. the values are exactly the same ones perl uses in$^O. no new vocabulary, same list. β¨--osvers=versionβ changes the operating system version. and psst, on FreeBSD systems this is literally the output ofuname -r. π--linuxdistro=distidβ for--os=linuxonly! changes the distribution id. it's a lowercase name, likedebianorfedora. π--linuxdistrocodename=codenameβ for--os=linuxonly! changes the distribution version code name. think names likewheezyorjessie. π§--linuxdistroversion=versionβ for--os=linuxonly! changes the distribution version. that's it, that's the whole job. π
other options, the rest of the squad π
--uninstalledβ shows you only the packages that are currently not installed. which, obviously, only makes sense if you're not simulating the environment as something else. like, if you're pretending to be on Fedora but asking what's uninstalled on your actual box... girl, that's not a vibe check, that's a mess. π
and also: if there happen to be alternatives in the package specifications and all of those alternatives are not installed, then they get reduced down to just the first package in the specification. okay? okay. π«Ά
--dryrunβ shows you the package installation commands that would run. window shopping. no commitment. π--runβ actually runs the package installation commands. committing. actually doing it. π₯--debugβ turns on the"debug"option of CPAN::Plugin::Sysdeps. for when you want the behind-the-scenes tea. π
BUGS π
okay so these are the known issues, and i'm gonna be honest with you because that's what besties do:
- there's no real mapping from CPAN module names to distribution names, or the other way around. currently the move is to just stick to module names, because right now the mapping file only uses module names. a real solution would have to use CPAN.pm or some suitable web service. so like... it's a work in progress, bestie. π
- right now you have to set both
--linuxdistrocodenameand--linuxdistroversionβ there's no automatic conversion between the two. however, the mapping file currently only uses codenames, so it may be enough to specify just the codename one. iykyk. π - it's not possible to specify a custom mapping like you can in CPAN::Plugin::Sysdeps. nope. not happening. π
EXAMPLES β¨
so cpan-sysdeps can be used to utilize CPAN::Plugin::Sysdeps::Mapping outside of CPAN.pm. slay. for example, on a Debian-like system:
apt-get install $(cpan-sysdeps --uninstalled --cpanmod Foo::Bar)
that's the "tell me what's missing and install it in one line" energy. main character behavior, honestly. π
or, everywhere, no matter what you're on:
cpan-sysdeps --cpanmod Foo::Bar --run
just go. do the thing. π₯
AUTHOR π
Slaven Rezic
(thank you for your service, king π)
SEE ALSO π
CPAN::Plugin::Sysdeps.
like, go read that one too, they're besties. π«Ά
okay that's the whole page!! and for the cute sign-off: this lil beauty is from perl v5.42.2, dated 2026-06-29, and it's the CPAN-SYSDEPS(1) manual page. periodt. π
β¨π¦
π¦ where this page comes from
- fedora 43: perl-CPAN-Plugin-Sysdeps 0.84-1.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- fedora 44: perl-CPAN-Plugin-Sysdeps 0.84-1.fc44 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms