Hatena::Groupperl

local $PERL_MEMO;

March 12, 2010

[][][]Win環境でモジュールの配布パッケージを作ってみる(草稿)

日を置くと情熱も記憶も失われるもので、もう何書こうとしてたか思い出せません。ですので、自分の環境で配布パッケージ作る時に引っかかった所を断片的に記録しておきます。

環境

モジュール作成からパッケージまでの10の手順

  1. このへん読む
  2. Module::Starter/Module::Starter::PBPインストール
  3. $ perl -MModule::Starter::PBP=setup
  4. 出来たテンプレートフォルダ(%HOME%/.module_starter/PBP)をC:\Perl\PBPに移動
  5. configのテンプレートページのとこC:\Perl\PBPに書き換え
  6. $ module-starter --module=Hoge
  7. Hoge/lib/Hoge.pm 書く
  8. $ PATH C:\Perl\bin;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
  9. $ perl Makefile.pl
  10. $ make dist

ツマルの詰まったとこ

  • Win 2000/XP特有?の問題として、%HOME%がだいたいDocuments and Settings/fugaとか、パスに空白が入ってるせいでmodule-starterがテンプレートページのパスが分からないとかのエラー吐く
    • スペースはいってないパスにPBPディレクトリを移動して解決
  • CygwinのせいなのかMakefileしてつくったmakeが"multiple target patterns. Stop"とかでエラー
    • コマンドPATHで一時的にperlvc(とあと%System%とか/binとかあったかもしれない)の最小構成にする。そのあいだにperl Makefile.pl etc
    • PATHはコマンドプロンプトが開いてる間、渡されたパスを覚えてるだけなので「環境変数書き変わるかも…」とか心配しなくていい。別のプロンプト起動すればいつもどおりである

おしまい

こんな感じで案外あっさり出来てしまいました。それでもそれなりに環境整えてやらないと出来るものもできないんだなぁというのが今回の感想です。あ、これ草稿のまま終わりそう。夜。

cf.

AddyAddy2011/06/05 09:30Hey, that post leaves me feeilng foolish. Kudos to you!

pzhmlhalpzhmlhal2011/06/05 17:55TpHTVq <a href="http://fjlidowwjrli.com/">fjlidowwjrli</a>

vmenumsdhqvmenumsdhq2011/06/06 22:29YduFNj , [url=http://atmticemgxor.com/]atmticemgxor[/url], [link=http://lgdhqdabbown.com/]lgdhqdabbown[/link], http://pfnsyxtchlrl.com/

ohljogoohljogo2011/06/07 17:55NtmO91 <a href="http://eubvdbyyziyx.com/">eubvdbyyziyx</a>

gldecnzogldecnzo2011/06/09 19:286zOWRa , [url=http://vajhjtqiwcpz.com/]vajhjtqiwcpz[/url], [link=http://adsgrcuxunqi.com/]adsgrcuxunqi[/link], http://cjtppvomotap.com/

IrisIris2013/02/04 18:28An ansewr from an expert! Thanks for contributing.

lzilwttcmlzilwttcm2013/02/06 14:494EMtR6 , [url=http://ioyjuyewplqv.com/]ioyjuyewplqv[/url], [link=http://gxzncnccoffm.com/]gxzncnccoffm[/link], http://wivzedayeeft.com/

pdptkeuawgwpdptkeuawgw2013/02/06 22:53dVk4bZ <a href="http://confqsyoolmp.com/">confqsyoolmp</a>