Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

Carton Conference

Carton conference was held at NHN's meeting room yesterday. I got to know about recent changes on cpanfile, carton, cpanminus.


carton is "Bundle or pip freeze for Perl." One thing I want the best for cpanfile is to be able to specify module in Git repository, which is supported by Bundler, like below:

git: "git://", ref: "4aded"
git: "git://", branch: "2-3-stable"
git: "git://", tag: "v2.3.5"

I heard miyagawa is planning to support it in cpanfile (Gemfile for carton).

require 'Foo::Bar', via => 'git://...', branch => 'hoge-topic'

It must be very convenient when we want to use modules which are:

  • not released on CPAN
  • forked on GitHub
  • in private Git repository

It's promising feature for cpanfile/carton, I'm convinced.


>= 1.60000 release of cpanminus looks neat and includes several features to fullfil the requirements for Git support.

Version specification

App::cpanminus now supports version specification.

cpanm Plack~1.0000                 # 1.0000 or later
cpanm Plack~">= 1.0000, < 2.0000"  # latest of 1.xxxx
cpanm Plack@0.9990                 # specific version. same as Plack~"== 0.9990"

Install from Git

cpanm git:// # tag
cpanm git://  # branch
cpanm git:// # commit