Perl Hackers Hub

第50回  Minillaを使ったモダンなCPANモジュール開発(1)

この記事を読むのに必要な時間:およそ 1 分

本連載では第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第50回のハッカーは,本連載の監修を務め,数多くのモジュールをCPANにアップロードしている松木雅幸Songmuさんで,テーマは「Minillaを使ったモダンなCPANモジュール開発」です。

Perlで何かを開発する際には,たとえ公開する予定がなくともCPANに公開するモジュールと同じディレクトリ構成で開発するのがお勧めです。本稿ではMinillaというCPANモジュール作成のためのツールを使って,迷いなく開発を進める方法について説明していきます。

本稿で作成するサンプルのCPANモジュールは,筆者のGitHubリポジトリにてソースコードやコミットログを公開しています。また,CPAN上にも実際にリリースされています

Minillaとは?

MinillaはCPANモジュールのオーサリングツールです。2013年に開発が始まり,いまや日本のCPANモジュール作者の間ではほぼデファクトスタンダードとなっています。煩雑な設定を必要とせず,Minillaの作法に従えば簡単にCPANモジュールを作成できます。逆に,ユーザーが使い方を独自に拡張するプラグイン機能は意図的に備えていません。このように割り切った作りになっていることが奏して,軽量に動作します。

基本的には余計な設定をせずともすぐに使い始められますが,設定を工夫すれば,ほとんどのユースケースをカバーできます。筆者も数多くのCPANモジュールを開発してきましたが,Minillaで困ったことはありません。CPANモジュールのオーサリングにおいては,Minillaだけを覚えておけばよいでしょう。

Minillaのインストール

Minilla自体もCPANモジュールとして公開されているため,cpanmコマンドでインストールできます。最小インストールでは足りないモジュールもあるため,今後つまずかないために--with-recommendsオプションを付けてインストールしましょう。

% cpanm -n --with-recommends Minilla

インストールが完了すると,minilというコマンドが使えるようになります。このコマンドを使ってCPANモジュールを作成します。

本稿では,Perl 5.26.1,Minilla 3.0.16を用いて説明していきます。また,本稿におけるCPANモジュールとは,CPANにアップロードされているか否かに関係なく,⁠CPANモジュール形式のプロジェクト」を指すものとします。

CPANモジュールを作り始める前に

CPANモジュールを作成し,それをCPANにアップロードしたいのであれば,PAUSEアカウントが必要です。たとえば筆者のPAUSEアカウントはsongmuです。PAUSEは「The [Perl programming] Authors Upload Server」の略です。

PAUSEのサイトにアクセスし,サイドバーの「Request PAUSE account」のリンクから開くフォームでアカウント申請を行えます。

フォームには,アカウント取得の動機を記入する欄があります。そう,アカウント取得前には簡単な審査があり,アカウントは即時発行されません。とはいえ厳しいものではなく,ほぼ即日で発行されるようです。近年の多くの言語のライブラリエコシステムとは異なり,審査があることは特徴的ですが,モジュールの乱立や悪意が入り込むことを防ぐために好ましいことだと筆者個人は思っています。

ここで取得したPAUSEアカウントのIDとパスワードが,のちほどCPANモジュールをCPANにアップロードする際に必要です。

<続きの(2)こちら。>

WEB+DB PRESS

本誌最新号をチェック!
WEB+DB PRESS Vol.106

2018年8月24日発売
B5判/144ページ
定価(本体1,480円+税)
ISBN978-4-7741-9943-6

  • 特集1
    [コードで超わかる!]
    実践Android/iOSアプリ設計

    開発を加速させる実装パターン
  • 特集2
    [速習]Spring Boot
    簡潔にコードを書けるJavaフレームワーク
  • 特集3
    仮想DOM革命
    ReactでGUI設計が変わる!

著者プロフィール

松木雅幸(まつきまさゆき)

idのSongmuの由来は「松木」の中国語発音表記。

中国でのIT起業,語学営業職,SIer,ソーシャルゲーム開発などの紆余曲折を経て,現在は,はてな東京オフィスでチーフエンジニアとサーバー監視SaaS,Mackerelのプロダクトオーナーを務める。ISUCONに過去3度優勝するなど,インフラを意識してアプリケーションコードを書くことが得意。趣味はCPANにモジュールを上げまくることだったが,最近はGoがお気に入りで多数のオレオレツールをGitHubに公開している。

著書に『みんなのGo言語[現場で使える実践テクニック]』,『Mackerelサーバ監視[実践]入門』(共に共著,技術評論社)

Blog:http://www.songmu.jp/riji/
GitHub:Songmu

コメント

コメントの記入