2016年 3月 28

cpanm Minilla

minil new My::Mod

My-Modディレクトリが作られてその中にモジュールのテンプレートがさくせいされる。

githubにあたらしいリポジトリを作る

  • App::phつかうと便利らしいので入れる。
  • ディレクトリ名でリポジトリが作られる
    • p5-my-mod 等にディレクトリ名を変更しておくと吉
  • 最近のバージョンなら最初から設定(minil.toml)にname=”My-Mod”ってかいてあるっぽい

足りないモジュール入れる

minil releaseする時に不足しているモジュール。cpanmで入れると良い。

  • Version::Next
  • CPAN::Uploader

ライセンスを変更すると Software::License もひつようらしい。

Minilla で Perl モジュールをつくる – Qiita

エラーログ1

$ minil release
Release engineering requires Version::Next, but it is not available. Please install Version::Next using your preferred CPAN client at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Release/BumpVersion.pm line 16.

Minilla::Error::CommandExit at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Logger.pm line 56.
Minilla::Logger::errorf(“%s\x{a}”, “Release engineering requires Version::Next, but it is not ava”…) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 60
Minilla::CLI::ANON(“Release engineering requires Version::Next, but it is not ava”…) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Try/Tiny.pm line 115
Try::Tiny::try(CODE(0x7fb06481f840), Try::Tiny::Catch=REF(0x7fb064884db0)) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 63
Minilla::CLI::run(Minilla::CLI=HASH(0x7fb06481f6f0), “release”) called at /Users/clicktx/.plenv/versions/5.20/bin/minil line 6

エラーログ2

$ minil release
Release engineering requires CPAN::Uploader, but it is not available. Please install CPAN::Uploader using your preferred CPAN client at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Release/UploadToCPAN.pm line 11.

Minilla::Error::CommandExit at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/Logger.pm line 56.
Minilla::Logger::errorf(“%s\x{a}”, “Release engineering requires CPAN::Uploader, but it is not av”…) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 60
Minilla::CLI::ANON(“Release engineering requires CPAN::Uploader, but it is not av”…) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Try/Tiny.pm line 115
Try::Tiny::try(CODE(0x7ff70980c840), Try::Tiny::Catch=REF(0x7ff7099343b0)) called at /Users/clicktx/.plenv/versions/5.20/lib/perl5/site_perl/5.20.3/Minilla/CLI.pm line 63
Minilla::CLI::run(Minilla::CLI=HASH(0x7ff70980c6f0), “release”) called at /Users/clicktx/.plenv/versions/5.20/bin/minil line 6

CPANにアップロードしない設定にする

minil.toml に設定書けば上のエラーでないかも。

[release]
do_not_upload_to_cpan=true

バージョンを上げる時

  • Changesファイルを編集する。{{$NEXT}}のすぐ下に今回の変更点などを追記。
Revision history for Perl extension My-Mod

{{$NEXT}}
    - second version ←ここに追記する

0.01 2016-03-28T11:07:45Z
    - original version
  • minil release コマンドでバージョン上げる

My/Mod.pmのour $VERSION = "0.01";our $VERSION = "0.02";に自動で変更され、commitされる

More from my site

  • Amon2アプリをMinillaで管理する時のハマりどころAmon2アプリをMinillaで管理する時のハマりどころ amon2-setup.pl --flavor=Large MyApp で作成したLarge flavorのAmon2アプリのリリース管理にMinillaを使ってみようとしらうまくいかなかったので試行錯誤してみた。 まずはMinillaに最適化 minil […]
  • perlでirbしたいと思ったら出来るみたいperlでirbしたいと思ったら出来るみたい 前にRubyの勉強会に参加した時に irb を教えてもらって、便利だったのでPerlでも同じようなことが出来ないかググったら出来るみたい。 Perl5 で irb 相当のことをする方法、すなわち REPL をする方法 - blog.64p.org Perl5 で REPL(Read-Eval-Print-Loop)をつかいたければ、perl -de 1 […]
  • OS X (El Capitan)で PhantomJS+Selenium::Remote::Driver (Selenium::PhantomJS) を試すOS X (El Capitan)で PhantomJS+Selenium::Remote::Driver (Selenium::PhantomJS) を試す PhantomJSのインストール サクッと brew install phantomjs といきたいところだけど今現在(2015/12/15)まだパッケージがないらしい。 $ brew install phantomjs phantomjs: This formula either does not compile or function as expected on […]
  • perl メール送信にテンプレートを使う Email::MIME::MobileJP::Templateperl メール送信にテンプレートを使う Email::MIME::MobileJP::Template id:tokuhirom氏作の Email::MIME::MobileJP::Template を発見したので使ってみる。 PODにあるコードは動作しないので注意。renderメソッドのAPIが変わったのかな?ソースを見ると引数の最初に送り先のメールアドレスを指定しないとダメみたい。 それと、Email::MIME::MobileJP […]
  • perl SpeedyCGIでデータベースの接続を永続化するperl SpeedyCGIでデータベースの接続を永続化する perlスクリプトをSpeedyCGIスクリプトとして動作させる場合、グローバル変数の値は保持され続ける。なので、一度接続したデータベースハンドルを使い回すことでデータベースへの接続コストを削減できる。 テスト用スクリプト #!/usr/bin/speedy use strict; use warnings; use DBI; #DB用設定 my […]
  • Mojolicious::Liteな perl CGI をレンサバにアップロードするだけで動かす。Mojolicious::Liteな perl CGI をレンサバにアップロードするだけで動かす。 perlのWAF(ウェブアプリケーションフレームワーク)である Mojolicious(Mojolicious::Lite)をアップロードだけで使えるのか試してみる。 簡単に使えるフレームワークとして、とりあえず […]

Filed under: perl

Trackback Uri



コメントする