Carton is a command-line tool to track the Perl module dependencies for your Perl application. Created by Tatsuhiko Miyagawa (also author of Plack and cpanm), Carton is essentially Bundler for Perl: declare dependencies in a cpanfile, run carton install, and get a reproducible build defined by cpanfile.snapshot.
It made deterministic Perl deployments practical, especially in containerized and CI environments.
Perl module dependency manager. Bundler for Perl — pin versions, lock files, reproducible installs.
✨ Features
Declarative manifest of project requirements. Production, develop, test groups.
cpanfile.snapshot records exact versions and shas. Commit it; CI installs the same tree.
carton bundle creates a self-contained tarball. Deploy without touching CPAN at all.
carton exec runs commands with the local lib in @INC. Works like bundle exec.
Builds on top of cpanm. Fast, reliable, well-tested module installation underneath.