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 ...
Dependency managementDivide & conquerKeep it simple, stupidDon’t trample the other’s feet
server         server         physical                              virtual                              - VMWare         ...
server  perl         perl         perlbrew                            plenv   modules      modules         app          app
server         perl           modules    modules   local::lib                                Fatpacker                    ...
cartonmiyagawa-warealpha! ☠Last commit in github: 2012-05-11 ☹A great software that definitely needs more love fromthe auth...
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 & loca...
Tracking dependencies           # cpanfile           requires Plack, 0.9980;           requires Starman, 0.2000;          ...
DeploymentCopy tree to remote location,skipping ./local/ dir         $ carton installCarton now installs versionsset in ./...
BundlingDon’t even need to have net access:$ carton bundlefetches tarballs into ./local/cache/ dirCopy tree to remote loca...
Bundling, with DarkPANAdd your own tarballs to ./local/cache/ dirCopy tree to remote location, and:$ carton install --cach...
Housekeeping$ carton list List tracked deps in carton.lock file$ carton check Check for missing and unsused modules$ carton...
Trial by fire $ carton exec -- perl myscript.pl  Execute in isolated carton local environment  Excludes .../site-perl/...  ...
perlbrew and local::lib Development environment   perlbrew lib (using local::lib) Co-development and production environmen...
ThanksYes, slides will be on slideshareOther questions?
Upcoming SlideShare
Loading in...5
×

Carton

718

Published on

Perl module dependency manager

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
718
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Carton

  1. 1. cartoncph.pm, 2013-01-29lars@thegler.dk
  2. 2. server app
  3. 3. server app app
  4. 4. server modules app app
  5. 5. server perl modules app app
  6. 6. 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?”
  7. 7. Dependency managementDivide & conquerKeep it simple, stupidDon’t trample the other’s feet
  8. 8. server server physical virtual - VMWare - jails perl perl - Xen - Virtualbox modules modules app app
  9. 9. server perl perl perlbrew plenv modules modules app app
  10. 10. server perl modules modules local::lib Fatpacker carton app app
  11. 11. 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
  12. 12. cartonLatest version 0.9.4Latest dev version 0.9_7 (read: 0.9.7)
  13. 13. carton philosophyproject-private module reporepeatable module versionswrapper around cpanmmix’n’match with perlbrew & local::lib
  14. 14. Tracking dependencies # cpanfile requires Plack, 0.9980; requires Starman, 0.2000; $ carton installModules installed into ./local/ dir.Dependency info saved in ./carton.lock file.
  15. 15. DeploymentCopy tree to remote location,skipping ./local/ dir $ carton installCarton now installs versionsset in ./carton.lock file,into ./local/ dir.
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. Trial by fire $ carton exec -- perl myscript.pl Execute in isolated carton local environment Excludes .../site-perl/... Adds local/lib/perl5/ and .
  20. 20. perlbrew and local::lib Development environment perlbrew lib (using local::lib) Co-development and production environment carton
  21. 21. ThanksYes, slides will be on slideshareOther questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×