MacOS XにPlaggerインストール
使えるまでのおおまかな流れとしては、Plaggerの動作に必要なPerlモジュールをインストール → svnから最新のPlaggerをチェックアウト → 設定 → 利用可能。といった感じ。
インストール
1回目失敗
cpan[9]> install Plagger ... Test Summary Report ------------------- t/00_compile.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1Files=1, Tests=1, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.41 cusr 0.07 csys = 0.51 CPU)Result: FAIL Failed 1/1 test programs. 1/1 subtests failed. make: *** [test_dynamic] Error 1 MIYAGAWA/Plagger-0.7.17.tar.gz /usr/bin/make test -- NOT OK//hint// to see the cpan-testers results for installing this module, try: reports MIYAGAWA/Plagger-0.7.17.tar.gz Failed during this command: MIYAGAWA/XML-Liberal-0.22.tar.gz : make_test NO DMAKI/XML-RSS-Liberal-0.03.tar.gz : make_test NO ADAMK/File-HomeDir-0.89.tar.gz : make_test NO MIYAGAWA/WebService-Bloglines-0.12.tar.gz : make_test NO one dependency not OK (XML::Liberal) MIYAGAWA/Plagger-0.7.17.tar.gz : make_test NO
MIYAGAWA/XML-Liberal-0.22.tar.gz のテストをして失敗原因を調べる
cpan[10]> test MIYAGAWA/XML-Liberal-0.22.tar.gz ... PERL_DL_NONLAZY=1 /opt/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.tt/00_compile.t ......... 1/1 # Failed test 'use XML::Liberal;' # at t/00_compile.t line 4. # Tried to use 'XML::Liberal'. # Error: Can't locate Module/Pluggable/Fast.pm in @INC (@INC contains: ...) at /Users/sato_k/.cpan/build/XML-Liberal-0.22-FUap2a/blib/lib/XML/Liberal.pm line 13. Test Summary Report ------------------- t/00_compile.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/01_bad.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/02_global.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/03_global_destroy.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/04_sanity.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=5, Tests=1, 3 wallclock secs ( 0.05 usr 0.03 sys + 0.32 cusr 0.11 csys = 0.51 CPU) Result: FAIL Failed 5/5 test programs. 1/1 subtests failed. make: *** [test_dynamic] Error 2 MIYAGAWA/XML-Liberal-0.22.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports MIYAGAWA/XML-Liberal-0.22.tar.gz Failed during this command: MIYAGAWA/XML-Liberal-0.22.tar.gz : make_test NO Module::Pluggable::Fast がuseできなくて失敗している。こいつが入っているのが前提らしい。 /* Module::Pluggable::Fast インストール */ cpan[15]> test Module::Pluggable::Fast Running test for module 'Module::Pluggable::Fast' The module Module::Pluggable::Fast isn't available on CPAN. Either the module has not yet been uploaded to CPAN, or it is temporary unavailable. Please contact the author to find out more about the status. Try 'i Module::Pluggable::Fast'. あれ、、無い??と思ったが、以下のようにしたらできた。 cpan[25]> install MRAMBERG/Module-Pluggable-Fast-0.16.tar.gz ※ 参考: http://d.hatena.ne.jp/hao_yayoi/20091202/1259762635 のブコメ
MIYAGAWA/XML-Liberal-0.22.tar.gz をインストール
cpan[27]> install MIYAGAWA/XML-Liberal-0.22.tar.gz
問題無く入った。
2回目失敗
cpan[28]> test Plagger ... Test Summary Report ------------------- t/00_compile.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=1, Tests=1, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.42 cusr 0.08 csys = 0.53 CPU) Result: FAIL Failed 1/1 test programs. 1/1 subtests failed. make: *** [test_dynamic] Error 1 MIYAGAWA/Plagger-0.7.17.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports MIYAGAWA/Plagger-0.7.17.tar.gz Failed during this command: ADAMK/File-HomeDir-0.89.tar.gz : make_test NO MIYAGAWA/Plagger-0.7.17.tar.gz : make_test NO
ADAMK/File-HomeDir-0.89.tar.gz のテストをして失敗原因を調べる
cpan[29]> test ADAMK/File-HomeDir-0.89.tar.gz ... t/12_darwin_carbon.t .. 1/6 Use of uninitialized value in pattern match (m//) at t/12_darwin_carbon.t line 60, <DATA> line 1. # Failed test at t/12_darwin_carbon.t line 60. # undef # doesn't match '(?-xism:Application Support)' # Looks like you failed 1 test of 6.t/12_darwin_carbon.t .. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/6 subtests (less 4 skipped subtests: 1 okay) Test Summary Report ------------------- t/12_darwin_carbon.t (Wstat: 256 Tests: 6 Failed: 1) Failed test: 5 Non-zero exit status: 1 Files=8, Tests=71, 1 wallclock secs ( 0.07 usr 0.04 sys + 0.36 cusr 0.13 csys = 0.60 CPU) Result: FAIL Failed 1/8 test programs. 1/71 subtests failed. make: *** [test_dynamic] Error 255 ADAMK/File-HomeDir-0.89.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports ADAMK/File-HomeDir-0.89.tar.gzFailed during this command: ADAMK/File-HomeDir-0.89.tar.gz : make_test NO どうやら 「/Users/sato_k/.cpan/build/File-HomeDir-0.89-Exv8Ff/t/12_darwin_carbon.t」 の60行目で失敗している模様。 File::HomeDir->my_dataメソッドがundefを返していることが原因。ここでは「Application Support」を返さなければならないらしい。。。 $ sudo vim /Users/sato_k/.cpan/build/File-HomeDir-0.89-Exv8Ff/t/12_darwin_carbon.t 58 # For now, lets continue to assume everyone has this one 59 like( 60 File::HomeDir->my_data, 61 qr/Application Support/, 62 ); sudoで実行しているから、rootユーザのホームディレクトリ直下に「Application Support」ディレクトリを作ればいいのか?? なんかbug reportが上がってた。 https://rt.cpan.org/Public/Bug/Display.html?id=52692 試行錯誤してみたが、よく分からない。。 少し前のバージョンだったら入ったので、これで良しとした。 cpan[4]> install ADAMK/File-HomeDir-0.86.tar.gz
3回目失敗
cpan[4]> test Plagger ... # Failed test 'use Plagger;' # at t/00_compile.t line 4. # Tried to use 'Plagger'. # Error: Can't locate XML/Feed/RSS.pm in @INC (... ... XML::Feed::RSSが見つからなくて失敗している。
XML::Feed::RSSを入れる
cpan[8]> install XML::Feed::RSS ... t/11-xml-base-rss.t ......... 1/13 # Failed test 'Got content base' # at t/11-xml-base-rss.t line 20. # got: undef # expected: 'http://example.org/archives/000001.html' # Failed test 'Got content base' # at t/11-xml-base-rss.t line 29. # got: undef # expected: 'http://example.org/archives/000001.html' # Looks like you failed 2 tests of 13. t/11-xml-base-rss.t ......... Dubious, test returned 2 (wstat 512, 0x200) Failed 2/13 subtests 今度は「t/11-xml-base-rss.t」の20行目と29行目のテストで失敗している。 $ sudo vi /Users/sato_k/.cpan/build/XML-Feed-0.23-OdRWCc/t/11-xml-base-rss.t 20 is($content->base, "http://example.org/archives/000001.html", "Got content base"); 29 is($new_content->base, "http://example.org/archives/000001.html", "Got content base"); 分からん。。というか寝たいのでforce install cpan[10]> force install XML::Feed::RSS
やっとtest Plagger通った
cpan[10]> test Plagger ... Result: PASS MIYAGAWA/Plagger-0.7.17.tar.gz /usr/bin/make test -- OK cpan[10]> install Plagger Plagger is up to date (0.7.17).
そうか、全部依存関係を解決したからこれで入ったことになるのか。
最新のPlaggerをダウンロード
$ svn co http://svn.bulknews.net/repos/plagger/trunk/plagger
$ cd plagger
config.yamlを作成しておく
$ touch config.yaml
これで使えるはず…
$./plagger Can't locate File/Find/Rule.pm in @INC 見ているperlが違ったようなので修正 $ vi plagger 1 #!/opt/local/bin/perl 2 ##!/usr/bin/perl きた! $ ./plagger Plagger [info] plugin Plagger::Plugin::Bundle::Defaults loaded. Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded. Plagger [info] plugin Plagger::Plugin::Summary::Auto loaded. Plagger [info] plugin Plagger::Plugin::Summary::Simple loaded. Plagger [info] plugin Plagger::Plugin::Namespace::HatenaFotolife loaded. Plagger [info] plugin Plagger::Plugin::Namespace::MediaRSS loaded. Plagger [info] plugin Plagger::Plugin::Namespace::ApplePhotocast loaded.
やっと入った。
もう朝になってしまったので、、、いろいろ試すのは次の機会にしよう。