Carton
Upcoming SlideShare
Loading in...5
×
 

Carton

on

  • 877 views

Perl module dependency manager

Perl module dependency manager

Statistics

Views

Total Views
877
Views on SlideShare
872
Embed Views
5

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 5

http://lanyrd.com 4
http://www.docshut.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Carton Carton Presentation Transcript

  • cartoncph.pm, 2013-01-29lars@thegler.dk
  • server app
  • server app app
  • server modules app app
  • server perl modules app app
  • Parent’s dilemma“Mommy, I want perl-5.8.8 and Mason!”“But *I* want Mojolicius! And perl-5.10.1! And a pony!”<sigh> “Can’t you two just stop fighting for 5 minutes?”
  • Dependency managementDivide & conquerKeep it simple, stupidDon’t trample the other’s feet
  • server server physical virtual - VMWare - jails perl perl - Xen - Virtualbox modules modules app app
  • server perl perl perlbrew plenv modules modules app app
  • server perl modules modules local::lib Fatpacker carton app app
  • cartonmiyagawa-warealpha! ☠Last commit in github: 2012-05-11 ☹A great software that definitely needs more love fromthe author. Its not "stalled" per se. -- miyagawa, 2013-01-25
  • cartonLatest version 0.9.4Latest dev version 0.9_7 (read: 0.9.7)
  • carton philosophyproject-private module reporepeatable module versionswrapper around cpanmmix’n’match with perlbrew & local::lib
  • Tracking dependencies # cpanfile requires Plack, 0.9980; requires Starman, 0.2000; $ carton installModules installed into ./local/ dir.Dependency info saved in ./carton.lock file.
  • DeploymentCopy tree to remote location,skipping ./local/ dir $ carton installCarton now installs versionsset in ./carton.lock file,into ./local/ dir.
  • BundlingDon’t even need to have net access:$ carton bundlefetches tarballs into ./local/cache/ dirCopy tree to remote location, and:$ carton install --cachedinstalls from there
  • Bundling, with DarkPANAdd your own tarballs to ./local/cache/ dirCopy tree to remote location, and:$ carton install --cachedinstalls from there, with your own DPAN modules
  • Housekeeping$ carton list List tracked deps in carton.lock file$ carton check Check for missing and unsused modules$ carton install Foo:Bar Fetch & install module ad-hoc
  • Trial by fire $ carton exec -- perl myscript.pl Execute in isolated carton local environment Excludes .../site-perl/... Adds local/lib/perl5/ and .
  • perlbrew and local::lib Development environment perlbrew lib (using local::lib) Co-development and production environment carton
  • ThanksYes, slides will be on slideshareOther questions?