# miyagawa 『Plaggerをsvn最新にしないと動きません>はてなセリフのyaml』
適宜覚書はてな異本
というアドバイスを頂いた。有難うございます。
「svn?うーん」名前は聞いたことはあっても使ったことは無いし何だか分からない。とりあえず検索してみて分かったことは以下の通り。
なるほど。普段バージョン管理するような需要が自分には無いからサッパリ知らなかった。とりあえずTortoiseSVNをダウンロード(Download TortoiseSVN | TortoiseSVNから、現行のversion is 1.4.1.としてTortoiseSVN-1.4.1.7992-win32-svn-1.4.2.msiと対応する日本語化パッチLanguagePack-1.4.1.7992-win32-ja.exe)してインストールした。
Development
We have a Subversion repository and you can check it out with:
svn co http://svn.bulknews.net/repos/plagger/trunk/plagger
Plagger - Tracに上記のようにあるのでhttp://svn.bulknews.net/repos/plagger/trunk/plagger
にc:\tmpにてチェックインした。入手した最新版に対して
C:\tmp>perl makefile.pl Can't locate inc/Module/Install.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/s ite/lib .) at makefile.pl line 2. BEGIN failed--compilation aborted at makefile.pl line 2.
ありゃん?またモジュール足らない?
cpan> install Module::Install
これでええんか?
C:\tmp>perl makefile.pl include inc/Module/Install.pm String found where operator expected at makefile.pl line 101, near "tests 't/*.t t/*/*.t t/*/*/*.t'" (Do you need to predeclare tests?) syntax error at makefile.pl line 101, near "tests 't/*.t t/*/*.t t/*/*/*.t'" Bareword "use_test_base" not allowed while "strict subs" in use at makefile.pl l ine 103. Bareword "auto_include" not allowed while "strict subs" in use at makefile.pl li ne 105. Bareword "auto_install" not allowed while "strict subs" in use at makefile.pl li ne 106. Bareword "WriteAll" not allowed while "strict subs" in use at makefile.pl line 1 10. Execution of makefile.pl aborted due to compilation errors.
ああ、これはひどいorz。PlaggerFAQ - Plagger - TracにYAMLとModule::InstallとTest::Baseを入れとけとあるな。
cpan> install Test::Base
あれこれ依存モジュールがあるのでチクチク入れる。でもって再度
C:\tmp>perl makefile.pl
エラーは出ない。yes、no聞いてくるけど全部Enterで進めるとMakefileが出来た。いきなりnmakeを実行する。(入れているmakeがnmake.exeなので)
C:\tmp>nmake
なんか動いているっぽい*1。終わったところで
C:\tmp>plagger -v Plagger version 0.7.16
試しに昨日出来なかったはてなセリフのYAMLを実行してみたところ、成功した。
動くには動いたのだけど、それとは別に不安事項。MakefileでPlaggerがインストールされた先はどこ?従来のPlaggerインストール先はC:\Perl\site\lib\Plaggerだが、これはそのままになっているっぽい。
今回試しにsvnクライアントをc:\tmpという適当な場所でチェックアウトした。c:\tmpでplagger -vすると0.7.16、その他の場所だと0.7.14を見に行く。多分、c:\tmpだとc:\tmp以下を参照しているのだよな。従来の奴を残しておく必要は無いので統一する方法を考えよう。->C:\tmp\blib以下が丁度C:\Perl以下と似ている。多分、これ。タイムスタンプもそれっぽいし…。
直接は関係しないものも含む
Life is Try and Error - PPM でインストールした Plagger から最新 trunk の Plagger に TortoiseSVN を使って乗り換える方法にてppmでインストールした旧版からSVN版への移行方法(makeしないでsvn更新結果をそのまま使う)記事が挙がっている。大筋を纏めると
なるほど。この方法だと今後の最新更新はSVN更新のみで簡単に済むような気がする。一方でmakeで依存モジュールの一括更新をさせる等のメリットが無くなるとかの短所があるかもしれない。まあ、必要に応じてエラーメッセー追っかければいいし、makeしたところでエラーが出なくなる保証がある訳ではない。手軽さという意味で魅力的。参考になります。
*1:分からないので鑑賞モードでボーっと眺める