タグ

cartonに関するamari3のブックマーク (15)

  • Carton考2014 | おそらくはそれさえも平凡な日々

    こうするのがいいかなーと思ってる。経緯は端折って大枠だけ。Webアプリケーションプロジェクトの場合です。 cpanfileちゃんと書いてコミット 今やどこでもやってますね。scan-prereqs-cpanfileも便利です。 開発者は各自carton installでモジュールをインストール。プロジェクトごとにPerlをビルドしたりしてる場合は、cpanm --installdeps .でも別に良い。 CI環境でcpanfile.snapshotを作る CI環境は必ず以下のとおりとする。 番環境と同じアーキテクチャ 番環境と同じバージョンのPerl まっさらな状態(Globalに何のモジュールも入っていない) CIにcarton installもさせて、必要なモジュールをlocal/に入れてテストさせる。毎回サラからcarton installしてたら時間かかるので、git pull

    Carton考2014 | おそらくはそれさえも平凡な日々
  • carton化を進めています - $shibayu36->blog;

    OrePAN的なやり方でモジュール管理していたプロジェクトのcarton化を進めているので、進捗をメモしてみる。 整合性が取れるまでcarton installを進める 現状のモジュールのバージョンを完全に固定したままで、carton installしたらあまりうまく行かなかった。プロジェクトにはテストがかなりあるので、まあ全部バージョン上がっても良いとして、carton installする。テストを走らせてみて、バージョンを固定しないと動かないようなモジュールはcpanfileに記述していった。 $ carton install $ # なんかおかしかったらcpanfileを編集 $ carton install cpanfileには以下の様な形でモジュールを固定していった。 requires 'HTTP::Message' => '<= 6.02'; またinstallが終わった後はc

    carton化を進めています - $shibayu36->blog;
  • 第21回 Carton &amp; cpanm―Perlモジュール管理最新事情(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はikasam_aこと中川勝樹さんで、テーマはモジュール管理です。 Perlのモジュール管理 CPAN(Comprehensive Perl Archive Network)は、Perlのモジュールやソフトウェアを集めたアーカイブサイトです。昨今のPerlアプリケーション開発において、CPANにあるPerlモジュールをまったく利用しないというシーンは、ほぼ皆無だと思います。 CPANには、ファイル操作や日付操作をする基的なライブラリから、HTTPクライアントやWebアプリケーションフレームワークといった規模の大きいものまで、先人が開発を進めてきたモジュールがたくさんあります。ですのでありがたいことに、自分でゼロから下回りすべてを開発せずとも、必要なアプリケーション開発に専念できます。 CPANモジュールは使いこなすと非常

    第21回 Carton &amp; cpanm―Perlモジュール管理最新事情(1) | gihyo.jp
  • carton と古い cpanm をくみあわせたら悲しい話 - tokuhirom's blog

    https://github.com/miyagawa/carton/issues/52 perlbrew install-cpanm でインストールした cpanm にパスがとおってる状態で、carton いれてつかおうとすると、carton は ~/perl5/bin/cpanm をつかおうとしてくれちゃってこまったという話。 cpanm は既知ではないオプションをスルーするので、--showdeps をサポートしてないバージョンだと、実際にそのモジュールを -L なディレクトリにサイレントにインストールしはじめてしまいます。 まあ僕の環境がわるいという話なんだけど、はまりそうなのでバージョンチェックしてくれたらうれしいな、とおもったのでした。

    amari3
    amari3 2013/08/22
    小一時間ほどはまった。。
  • carton bundle について ikasam_a さんにきいた - tokuhirom's blog

    https://github.com/miyagawa/carton/blob/master/lib/Carton.pm#L39 ここのへんをよむとわかるらしい。 cpanm --save-dists local/cacheのラッパー的存在だそうです。 local/cache ってところに依存モジュールの tar ball を保存しまくってくれる。 で、carton でこれをつかってインストールするには carton install --cachedとする。

  • Carton 1.0 時代の Web アプリケーション開発フロー - tokuhirom's blog

    Carton 1.0 がでたところで、Web アプリケーション開発のフローを一度見直しておきたい、そんな人も多いでしょう。 そんな方のために僕のやりかたをまとめました。各社、議論の叩き台にしていただければよろしいかと存じます。 もっとも重要なことは、、 Carton を使うときに、僕が最重要だと思うことは、できるだけ番環境と開発環境の環境をそろえるということです。CPAN モジュールが番と開発でバージョンちがうから挙動がちがってた!! なんてのは時間の無駄ですし、よくないことですからね。 ですから、各開発環境と番環境をできるだけそろえることを意識していきたいとおもいます。 DarkPAN は使ってない そんなに DarkPAN 的なのを使うほど、DarkPAN 的なオレオレモジュールがないので、git submodule で管理しています。 【201308061241update】

  • Carton 1.0 リリースによせて - tokuhirom's blog

    http://weblog.bulknews.net/post/57356232719/carton-1-0-is-released Carton 1.0 がリリースされました。おめでとうございます! miyagawa++ というわけで早速手元でうごかしてみたところ、いくつか問題があったので miyagawa さんに修正していただきました。 1.0 リリースまでにためしたいところだったのですが、面倒くさくて無理でした。 今回のアップデートで個人的にいいなーとおもったのは以下のような点です。 carton update が実装された 待望の carton update が実装されております。これにより、あたらしめのバージョンに移行することができますね! carton check が実装された cpanfile に記述されてるけどインストールされてないモジュールを確認できる!! carton.

  • Carton 1.0 is released

    Carton v1.0.0 is released on CPAN. Since the first announcement at YAPC::NA 2011, I’m sure it has taken more time than necessary, but after my attempt to grok Ruby’s bundler more, i refactored and rewrote most of the code, and I think it’s usable for the most of production apps. I’ve been using it on my production website that handles millions of requests, and I know a lot of businesses use carton

  • Carton 1.0 at OSCON 2013

    Introducing what's new in Carton at O'Reilly Open Source Convention 2013.

    Carton 1.0 at OSCON 2013
  • CartonConference で話した - 烏賊様

    CartonConference で話しました。 実は最初 Catron Hackathon と勘違いしてて、軽いノリで「いいよ」って言ったら、気がついたら基調講演になってた。 昨日 cpanm-1.6000 & carton-v0.9.10 がリリースされたので、自分的まとめも兼ねて、現状での Bundler との比較をしてみました。細かいところまだある感じなんでまた実装していきたいなー、とか思った。 Carton について何か話す from Masaki Nakagawa

    CartonConference で話した - 烏賊様
  • carton + 開発版の cpanm で、特定のバージョンのモジュールをつかいこなす! - tokuhirom's blog

    開発版の cpanm で、META file の version range がサポートされるようになりました。 CPAN の META spec v2.0 では、version range がサポートされていて、以下のような柔軟な指定が可能となっています。 Some fields (prereq, optional_features) indicate the particular version(s) of some other module that may be required as a prerequisite. This section details the Version Range type used to provide this information. The simplest format for a Version Range is just the vers

  • 開発メモ#3 : レガシーなCGIアプリケーションのリファクタリング - naoyaのはてなダイアリー

    開発メモその3です。今回は Perl のおはなし。 何年も前に作ったウェブアプリケーションのコードを開いてみたら黒歴史なコードが出てきて憂な気分になる、そんな経験ありませんか。私はあります。ずっとそんな現実から目を背けて生きてきました。 さて、先日 Perl + CGI で書いて Apache::Registry で高速化している、実行環境が Apache に癒着した CGIアプリケーションを発見しました。おえ〜っ。一から作り直したい気持ちをぐっと堪えて、これを Plack 化したりとリフォームしていくとしましょう。その過程を以下記します。劇的ビフォア・アフター! ・・・とかは期待せず、地道な変更を積み重ねていくのがコツです。 方針 いきなりコードをがりがり書き換えていくというよりは、試行錯誤のしやすい環境に移行させていきながらリフォームを進めます。遠回りですが、結果的にその後の運用が楽

    開発メモ#3 : レガシーなCGIアプリケーションのリファクタリング - naoyaのはてなダイアリー
  • perlbrew+Carton+Amon2+Test::mysqldみたいな - As a Futurist...

    モダンな感じで perl でウェブアプリ作りたいなーと思ってほげほげしてます。メモ書き。 最近の流行りでは、system perl なんてもう使わないわけで、自分で perl を make して入れるもの。それを簡単に管理できるのがperlbrew。で、アプリ毎に perl を入れてもいいなぁとは思ったんですが、さすがにそこまで仰々しくしたくはない。でも、CPAN モジュールについてはアプリ毎に依存が無いようにしたい(あるアプリが変にバージョンアップしちゃって他が動かないとか嫌)。 どうするのがいいかなーと色々考えたんですが、そういえば miyagawa さんのCartonというのが、依存関係やバージョンも含めて CPAN モジュール管理できるということでこれをアプリ毎に使うのが正統だろうなと思ったので使ってみた。 まずは perlbrew でインストール これは説明の通り。 $ curl

    perlbrew+Carton+Amon2+Test::mysqldみたいな - As a Futurist...
    amari3
    amari3 2011/12/28
    いいまとめ
  • Carton talk at YAPC::Asia - video

    My Carton talk's video is up. Slides are in English and the speech is in Japanese. I was doing the demo abou 8:00 and it went really well. When I ship 1.0 i will most definitely do a screencast. Another nice thing about YAPC::Asia: the videos are uploaded 4 days after the conference. I still haven't seen ones from other YAPCs this year.

  • Carton CPAN dependency manager

    This document summarizes a presentation about managing CPAN dependencies for web development projects. It describes a case study where a developer installed many CPAN modules for a new web app, but ran into problems with dependency and versioning issues during deployment to production servers. The presenter then introduced their solution called Carton, a tool for creating isolated, local Perl envi

    Carton CPAN dependency manager
  • 1