# Install carton with Homebrew, apt, winget

Perl module dependency manager (aka Bundler for Perl). Version 1.0.35 via Homebrew; verified 2026-06-13. Also installable with debian: sudo apt install carton.

## Install

```sh
sudo av install brew:carton
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install carton
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install carton
```

  Evidence: Debian stable package indexes: carton from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

### Windows

- winget (92%):

```sh
winget install --id Unifan.Carton -e
```

  Evidence: Windows Package Manager source index: Unifan.Carton from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:carton
- **Package manager:** Homebrew
- **Version:** 1.0.35
- **Source summary:** Perl module dependency manager (aka Bundler for Perl)
- **Homepage:** <https://metacpan.org/pod/Carton>
- **Repository:** <https://github.com/perl-carton/carton>
- **Last updated:** 2026-06-13T01:03:34+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- carton (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.0.35
## Project history and usage

Carton is a Perl application dependency manager, described by its official README and MetaCPAN metadata as a Bundler-like tool for Perl. It tracks dependencies declared in cpanfile and pins resolved module versions in cpanfile.snapshot.

### Project history

The public GitHub repository was created in 2011 and the README copyright line credits Tatsuhiko Miyagawa from 2011 onward. The latest MetaCPAN release metadata identifies Carton-v1.0.35, authored by MIYAGAWA and dated May 7, 2022.

### Adoption history

Carton came from the Perl/CPAN application-deployment world, where repeatable local dependency installs mattered for web apps and services. Its README tells developers to commit cpanfile and cpanfile.snapshot so other machines and deployment boxes install the same dependency tree.

### How it is used

A typical workflow declares modules in cpanfile, runs carton install, commits cpanfile and cpanfile.snapshot, then runs commands through carton exec or points Perl at local/lib/perl5. Deployment mode installs exactly from the snapshot, and carton bundle can vendor tarballs into vendor/cache for cached or offline installs.

### Why package nerds care

Carton is important package-manager plumbing because it adapts the lockfile-and-local-install pattern to CPAN applications. Its README explicitly references Bundler, pip, npm, cpanm, cpanfile, and Carmel, making it a useful bridge between Perl packaging culture and the broader application dependency-manager era.

### Timeline

- 2011: Public GitHub repository created and copyright begins.
- 2022: MetaCPAN release metadata lists Carton-v1.0.35.
- 2020s: README documents cpanfile, cpanfile.snapshot, local installs, deployment mode, and vendored cache workflows.

### Related projects

- The README's SEE ALSO section points to Carmel, cpanm, cpanfile, Bundler, pip, npm, perlrocks, and only.
- Carton is closely tied to CPAN, cpanfile, local::lib-style local installs, and Perl application deployment.

### Sources

- <https://api.github.com/repos/perl-carton/carton>
- <https://github.com/perl-carton/carton>
- <https://metacpan.org/pod/Carton>
- <https://metacpan.org/pod/Carton::Doc::Install>
- <https://formulae.brew.sh/api/formula/carton.json>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ./cpanfile
## Other Package-Manager Records

- Debian apt - carton - 1.0.35-1: normalized package name match | Debian stable package indexes: carton from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Perl module dependency manager (aka Bundler for Perl) | https://metacpan.org/release/Carton
- Ubuntu apt - carton - 1.0.35-1: normalized package name match | Ubuntu 24.04 LTS package indexes: carton from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Perl module dependency manager (aka Bundler for Perl) | https://metacpan.org/release/Carton
- winget - Unifan.Carton: normalized package name match | Windows Package Manager source index: Unifan.Carton from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

View the package source record on GitHub. [combined/carton.yml](https://github.com/mxcl/pkgdb/blob/main/combined/carton.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
