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