[Thousand-Oaks-pm] Slides for the dependency management talk

David Oswald daoswald at gmail.com
Wed May 9 21:34:48 PDT 2012


The slides for my dependency management talk are on Github in the same
repo as last month's CPAN talk (they sort of go together):

git://github.com/daoswald/CPAN-Power-Tools-Talk.git

or, of course,

http://github.com/daoswald/CPAN-Power-Tools-Talk


One thing I wanted to mention:

The question came up how Carton manages multiple versions of modules.
It was mentioned that one common practice is to pull the dependencies
into version control.  Here's how Carton handles it:

As you "carton install" a dependency into your "Carton", the
dependency is cached into a ./local directory, and cataloged in the
carton.lock file.  So by putting carton.lock under version control,
all you have to do is roll back the carton.lock file to regain the use
of a previous snapshot of dependency versions.  In essence, the /local
folder becomes a sort of dependency version repository private to a
particular Carton, and your carton.lock becomes the key to the
snapshots therein.

Carton's POD recommends that you exclude ./.carton and ./local from
version control, since Carton becomes the VC manager for those
folders' contents, while respecting whatever it finds in carton.lock,
which IS version controlled.

The SYNOPSIS for Carton also demonstrates how to let Carton execute
your app in a way that uses the locally managed dependencies rather
than systemwide versions of modules.

See you all next month!

Dave


--


David Oswald
daoswald at gmail.com


More information about the Thousand-Oaks-pm mailing list