CARMEL(1)
π CARMEL(1) β like, the whole vibe π
okay bestie, sit down, hydrate, and let me tell you about carmel β it's a User Contributed Perl Documentation page (section 1, the classics β¨), and honestly? it's giving main character energy for your CPAN situation. no cap.
β¨ NAME β¨
carmel β CPAN Artifact Repository Manager π
that's it. that's the whole name. short, iconic, does exactly what it says on the tin. π
πΈ SYNOPSIS πΈ
here's the group chat rundown of everything carmel can do for you. run these from a directory that has a cpanfile or a cpanfile.snapshot in it, and watch the magic happen π¦
# Run with a directory with cpanfile or cpanfile.snapshot
carmel install
# list all the modules to be loaded
carmel list
# list all the modules in a tree
carmel tree
# show a location where a module is installed
carmel show Plack
# update Plack to the latest
carmel update Plack
# update all the modules in the snapshot
carmel update
# pin modules to specific versions
carmel update DBI@1.633 Plack@1.0000
# show diffs for cpanfile.snapshot in a nice way
carmel diff
# Runs your perl script with modules from artifacts
carmel exec perl ...
# Requires all your modules in cpanfile in one shot
carmel exec perl -e 'use Carmel::Preload;'
# Roll out the currently selected modules into ./local
carmel rollout
# package modules tarballs and index into ./vendor/cache
carmel package
# use Carmel packages inside a script (without carmel exec)
perl -e 'use Carmel::Setup; ...'
# prints export PATH=... etc for shell scripting
carmel export
# find a module in a repository
carmel find DBI
# find a module matching the version query
carmel find Plack ">= 1.0000, < 1.1000"
lowkey obsessed with how much this thing does?? like, install to set everything up, list and tree to see what you've got, show to peek at where a module (hi Plack π) actually lives, update to bump one thing or everything, and β my personal fave β pinning exact versions with that DBI@1.633 / Plack@1.0000 syntax. β¨
then there's diff for making cpanfile.snapshot changes actually readable (a blessing, fr fr), exec for running your perl with all your artifacts loaded β including the one-shot use Carmel::Preload; banger β and rollout to yeet the selected modules into ./local. π«Ά
and when you're ready to ship? package tarballs your modules and indexes them into ./vendor/cache, export prints your export PATH=... shell setup so you can script it, and find hunts down a module β either by plain name (carmel find DBI) or with a version query like >= 1.0000, < 1.1000. no notes. π
real talk though: those # lines at the top of each snippet are the original comments, so if you're copy-pasting, don't paste the comment into your shell and then act surprised. π
π SEE ALSO π
Carmelβ the module itself, go read it, it's right there π§
and that's the page!! π this one came to you from perl v5.42.0, dated 2025-07-25, and it lives in the CARMEL(1) section forever and ever. mwah. π bye bestie, go install something iconic πβ
π¦ where this page comes from
- fedora 43: perl-Carmel 0.1.56-23.fc43 Β· 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