読者です 読者をやめる 読者になる 読者になる

CPAN Author になった話

Perl

先日、ようやく CPAN Author になった。


Data::HandyGen::mysql という、テストデータを効率よく生成するためのモジュールを作って、今年の2月に公開した。はじめて CPAN モジュールを公開するという体験は実にドキドキものである。少年の心が一瞬、蘇った気がする。←
それはそうと、実際に公開するにあたって躓いた点が多々あったので、今回はそのあたりを振り返ってみたいと思う。これから CPAN Author になろうという人たちに少しでも参考になれば。


なお、CPAN へのモジュール登録手順については、ささたつさんのこの記事を参考にさせていただいた。日頃、技術的なことで困ってググるとささたつさんの記事にたどり着くことが実に多い(笑) いつもありがとうございます。

PAUSE ID はすぐには発行されない

CPAN にモジュールを登録するには、まず PAUSE に開発者としてアカウントを登録する必要がある。ただ、ここからの登録申請を承認する作業は人手で行われているらしい。PAUSE のサイトには、

  • 最大で3週間は待って欲しい
  • だいたい1週間以内には登録されると思う


と書かれている。今回オイラは日本時間の 2月15日 夜2:23 に登録申請して、その日の4:15に登録完了のメールが届いた。ほぼ2時間ということでかなり早く処理していただけた。ただ上記のただし書きもあるので、近日中にモジュールを公開する予定であるなら早めに申請しておくと良いかも。

Gravatar に登録する「前に」 PAUSE のメール転送設定を

これ、ささたつさんのサイトにもちゃんと書いてあったのにオイラもハマった。要注意(笑)


PAUSE の登録が完了すると、cpan.org ドメインの新たなメールアドレスが自分用に発行される(egawata@cpan.org みたいなの。以下 xxx@cpan.org)。ただしこのアドレス宛のメールは直接受信することはできず、受け取るためには事前に転送先を登録しておく必要がある。この設定は PAUSE 登録完了後、PAUSE サイトの "Edit Account Info" で設定できる。

  1. 個人のメアドを Secret emaili address... (もしくは公開してよいなら Publicly visible email address) の欄に設定
  2. "The email address xxx@cpan.org should be configured to forward mail to ..." で、xxx@cpan.org 宛のメールの転送先を指定。以下の3つが指定可能。
    • my public email address
    • my secret email address
    • neither nor


一番下の "neither nor" が初期設定。そしてこの設定のときは、どこにも転送されず、おそらく捨てられてしまう。


さて問題はここだ。PAUSE のアカウント申請から登録完了まで時間が空くので「そうだ、今のうちに Gravatar の登録をやってしまおう」なんて、時間効率最適化図ってる俺カッケー的な発想が沸き起こってしまいがちだ。が、これは絶対にやってはいけない


CPAN サイトで表示される自分のアイコンは、先ほど触れた xxx@cpan.org のメアドで Gravatar に登録する必要があるのだ。そしてそのメアド宛に届く確認メールを受け取れないと、アカウント登録をいつまでも完了させられない。
しかもメールが届かないからと再度同じメアドで登録しようとすると、アカウントが重複している旨のエラーが出て登録できない。もしかしてもう一回別の名前で PAUSE へのアカウント登録からやらないとダメ!? なんて焦ってしまう。が、そんな時は慌てず、パスワードリセットのリクエストをするとよい。


いずれにしても、Gravatar の登録は、メール転送設定をしたあとにゆっくりやるのが一番だろう。

PrePAN は投稿後少し待ったほうがよい(?)

PAUSE のサイトでは、特に初めてモジュールをアップロードする開発者に対し、PrePAN というサイトでモジュールのフィードバックを貰うことを強く推奨している。ここでモジュール名と、モジュールの機能について投稿すると、先人から意見が貰えるというものだ。特にモジュールの命名の是非について意見を貰えることが多いようだ。


一応、推奨されているので素直に従っておいた。3日待ったところ、特に何もコメントがなかったので、だったら大丈夫かなぁと思い、公開に踏み切った。
ちなみに過去の投稿を見る限り、モジュールの命名についてコメントが付くのはだいたい2つに一つくらいの割合で、最初にコメントが付くのは遅くとも投稿後3日以内が多いようだ。ここでコメントがつかないようなら、問題ないと考えてしまっていいだろう(多分)。

テストはできるだけ多くの環境で!

これが今回の一番の反省点。オイラが使っている環境は Fedora がメインで、あとは仮想環境で Ubuntu を使うくらい。一応 Windows マシンも持ってはいるのだが、特別の用途(*1)がない限り、ほとんど立ち上げることはない。


ということで、今回うっかり Windows 環境でのテストを忘れてしまったのだ。


その結果…ごらんの有様だよorz


このレポートを受け取って慌てて Windows マシンを立ち上げテストを走らせてみる…
いやぁ、こけるこけるwwwww


とりあえず速攻で対応して Windows でもちゃんとテスト通るように修正したのだが、テストスクリプトだけ更新してバージョン上げるのもどうかなぁと思い、そのままにしてある。次に機能追加するときについでにリリースしよう。


(2014/03/30 更新) v0.0.2公開しました。Windowsでもテスト通るようになりました。


ともあれ、テストは可能な限り多くの環境で行うべし。特に Windows でのテストは忘れがちなので気をつける(*2)


(*1)「特別の用途」が何であるかを突っ込むのは無粋だと思う。
(*2)オイラだけか。



というわけで、反省点をつらつらと。
まぁでも、公開してみて分かったのは「モジュールをCPANに公開するのは案外怖くない」ということ。そして一度公開すると、次は何を作ろうかとか色々考えて楽しくなる。どんなモジュールでもいいから、少しでも他の人の役に立ちそうだと思ったら思い切って公開してしまうと良いんじゃないかな。