Mac OS X 上のvimで文字化け

急に文字化けするようになった。
fencsとencはちゃんと設定されているし、Terminal.appの「文字エンコーディング」もutf-8に設定されている。


色々悩んだ挙句、Terminal.appの環境設定が間違っていることが原因だと分かった。
環境設定 → 設定 → 詳細 → 「非ASCII入力をエスケープ」のチェックを外す
これで文字化けしなくなった。


何かの拍子にチェックを付けてしまったのかなぁ。。。

perldoc-search のインストール

perldoc-search つかえば良い - 理系学生日記を見て、便利そうだったので入れることにした。

インストール

$ cpanm App::Perldoc::Search

使い方

書式
perldoc-search <探したい文字列> <検索対象のディレクトリ>
例1:「perldoc-search」という文字列を含むPODを「~/perl5/lib」以下から検索
$ perldoc-search perldoc-search ~/perl5/lib
App::Perldoc::Search - implementation for perldoc-search
例2: 「Moose」という文字列を含み、且つファイル名に「Catalyst/Action」を含むPODを @INC から検索
$ perldoc-search Moose -G 'Catalyst/Action'

「-G」オプションでは正規表現が指定できる。ファイル名(というよりパス名)でマッチさせているらしく、「Catalyst::Action」では引っかからないので注意。
デフォルト(-Gオプション無し)では全ての「.pod, .pm, .pmc」ファイルを検索する。

メモ

あと、何故か分からないが、第二引数を指定しないとき(つまり@INCを検索対象としたとき)に以下のようなエラーが出る。。

Can't opendir(/Users/username/work/mysql5.1-export/mysql-test/var/install.db/mtr): Permission denied
 at /Users/username/perl5/lib/perl5/App/Perldoc/Search.pm line 103

何でこんなパスを開こうとしてるんだ?

cpanminus のインストール

※ 上記のエントリ「local::lib のインストール」を先に実施した
miyagawa/cpanminus · GitHubの「INSTALLATION」の項を参考に実施。

手順

最新版をダウンロードする
$ git clone git://github.com/miyagawa/cpanminus.git
インストール
$ cd cpanminus/

$ perl Makefile.PL

$ make install

※ 「make install」としてsudoで実行していないのは、「local::lib」のインストール時に「INSTALL_BASE」の設定をしたため(以下参照)。

$ vi ~/.bashrc
...
export PERL_MM_OPT="INSTALL_BASE=/Users/username/perl5"
...

参考

404 Not Found

local::lib のインストール

local::lib - search.cpan.orgを参考に実施。
OSは「Mac OS X 10.5.8」。

手順

最新版をダウンロードする

上記CPANのドキュメントページの右側「Download:」の部分に最新版のダウンロードリンクがある。

$ wget <最新版>
展開
$ tar zxf local-lib-1.004009.tar.gz
インストール
$ cd local-lib-1.004009

$ perl Makefile.PL --bootstrap

$ make && make install
環境変数の設定 (bashの場合)
以下の出力内容を~/.bashrcに書く
$ perl -I$HOME/perl5/lib/perl5 -Mlocal::lib
export MODULEBUILDRC="/Users/username/perl5/.modulebuildrc"
export PERL_MM_OPT="INSTALL_BASE=/Users/username/perl5"
export PERL5LIB="/Users/username/perl5/lib/perl5:/Users/username/perl5/lib/perl5/darwin-2level:$PERL5LIB"
export PATH="/Users/username/perl5/bin:$PATH"
設定の反映
$ source ~/.bashrc

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.

やっと入った。
もう朝になってしまったので、、、いろいろ試すのは次の機会にしよう。

音楽の世界へようこそ

川本真琴。ポンタゴって曲がイイ。
special thanksに「ポンちゃん」「タゴちゃん」って表記があるから、親戚の子のことだったりするのかな。ポンタゴ。

音楽の世界へようこそ

音楽の世界へようこそ


通しで何度も聴きたくなるアルバム。買ってよかった。
何度でも音楽の世界へようこそ。