Pular para o conteúdo principal

Carton — Perl module dependency manager

Tipo: Repositório Open Source
Autor(es): Tatsuhiko Miyagawa e colaboradores
Publicado: 2011 (atualizado continuamente)
Acessado: 2026-06-27

Relevância

Carton é o gerenciador de dependências padrão do Modern Perl — equivalente ao Bundler (Ruby) ou npm (Node.js). Usa o arquivo cpanfile para declarar dependências do projeto e gera um cpanfile.snapshot que congela as versões exatas de todos os módulos, incluindo dependências transitivas. O snapshot deve ser versionado no Git, garantindo que qualquer checkout produza um ambiente idêntico — requisito direto do fator II (Dependências) da metodologia 12-factor. Em imagens Docker, o multi-stage build usa o Carton no estágio de build e copia apenas a pasta local/ resultante para a imagem final de produção, mantendo-a leve e livre de compiladores. Carton internamente usa o cpanm (App::cpanminus) para instalar os módulos.

Referenciada em

  • ADR-005: Gerenciamento de Dependências — Carton + cpanm
  • ADR-011: Estratégia de Testes