オフトゥン大好き

惰眠系プログラマの作業ログで( ˘ω˘ ) スヤァ…

cloud9で整えるPerl開発環境

Cloud9

c9.io

基本無料で使えるウェブ上のIDEサービス。しかし、その実態はほぼVPS
VMコンテナを立ててくれて、sudoできるので追加で必要なものを普通にapt-getでインストールできる。
プライベートなワークスペースを2個立てる場合は料金がかかる。

gyazo.com

plenv

Perlのバージョンを管理するためのツール。システムにデフォで入ってるバージョンが古かったりすると新しいパッケージが使えなかったりするので入れておくと便利。
ちなみにcloud9のコンテナはUbuntu 14.04でPerlのバージョンは5.18.2
RubyとかPythonとか大体の言語には同様のバージョンマネージャがあると思う。

$ git clone https://github.com/tokuhirom/plenv.git ~/.plenv
$ echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(plenv init -)"' >> ~/.bashrc
$ git clone https://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/

GitHubのREADMEでは.bash_profileに追記しているがcloud9の初期設定しているbashの構成が崩れるので.bashrcに追記する。
最後の行はPerlをビルドするために必要なプラギン。

んで最新の安定バージョンをビルドする。

$ plenv install 5.22.1

入ったらデフォで使用するバージョンをこれに変更。

$ plenv global 5.22.1

cpanm

Perlモジュールのパッケージマネージャ。作者はrebuild.fmでおなじみのMIYAGAWAさん。
モジュールのレジストリであるCPANからよしなにパッケージをインストールしてくれる。
GitHubからクローンして使うこともできるけどplenvが入っているので以下のコマンドでOK

$ plenv install-cpanm

Carton

プロジェクトルートにcpanfileという名前の依存パッケージリストを置いておけば、それらをコマンド一発でインストールしてくれるツール
Rubyでいう所のbundler。
cpanmでインストール。

$ cpanm Carton

WAF

Web Application Frameworkの略。ウェブ開発のための大枠。RubyだとRuby on Rails一択みたいな感じだがPerlでは次の2つが現実的な選択肢としてある。

Mojoliciousは重厚長大フレームワークRailsに近い。Amon2はこれよりは薄い。Sinatraとかそのへんかな。

んで、両方ともcpanmで簡単にインストールできる。

$ cpanm Mojolicious
$ cpanm Amon2

プロジェクト作成

$ mojo generate app Hoge #Mojolicious
$ amon2-setup.pl Hoge #Amon2

$ cd Hoge/
$ carton install

おまけ

毎回コンテナ作るたびに同じコマンドを打つのが面倒だったのでまとめたやつを置いておく。


setup perl env