carton-faq - Frequently Asked Questions
First of all, if you currently use DPAN, CPAN::Mini::Inject or any other similar tools successfully, then that's totally fine. You don't need to switch to carton.
If you experience difficulties with these tools, or are interested in what could be better in carton, keep on reading.
carton definitely shares the goal with these private CPAN repository management tool:
Manage the dependencies tree locally
Take snapshots/lock the versions
Inject private modules into the repository
Existing tools are designed to work with existing CPAN clients such as CPAN or CPANPLUS, and have accomplished that by working around the CPAN mirror structure.
carton internally does the same thing, but its user interface is centerd around the installer, by implementing a wrapper for cpanm, so you can use the same commands in the development mode and deployment mode.
Carton automatically maintains the carton.lock file, which is meant to be version controlled, inside your application directory. You don't need a separate database or a directory to maintain tarballs outside your application. The carton.lock file can always be generated out of the local library path, and carton can reproduce the tree using the lock file on other machines.
carton.lock
To install Carton, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Carton
CPAN shell
perl -MCPAN -e shell install Carton
For more information on module installation, please visit the detailed CPAN module installation guide.