Snow Leopard で Perl (minicpan + cpanp) 環境を作る
MacPorts で,perl5 -> perl5.8(5.8.9) と perl5.10(=5.10.1) があるけど,
標準のperl が5.10.0 だとか.わけわからん.
これは,/opt/local/bin/perl にシンボリックリンクする方法.
この方法は,あんまり好きくないんだけど,*1
/opt/local/bin/cpanp-5.10 とかがshebang で /opt/local/bin/perl を見てる(何故?)ので,
仕方がないかな.
自分でPerl をコンパイルした方が楽な気もするけど,
とりあえずMacPorts 版Perl のパス(/opt/local/bin/perl) を使うことに固執してみる.
local::lib で,cpanp -> minicpan ができるとこまで.
$ sudo port install perl5.10 $ sudo port deactivate perl5.8 $ cd /opt/local/bin $ for f in perl5.10 perldoc-5.10 pod2man-5.10; do g=`s/5\.10$//;s/-$//;`; sudo ln -s $f $g; done $ wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.004007.tar.gz $ tar zxf local-lib-1.004007.tar.gz $ cd local-lib-1.004007 $ which perl /opt/local/bin/perl $ perl Makefile.PL --bootstrap; make; make install $ perl -I $HOME/perl5/lib/perl5 -Mlocal::lib >> ~/.zshrc $ source ~/.zshrc $ perl =cpanp-5.10 CPANPLUS --force $ export PATH=$HOME/perl5/bin:$PATH $ cpanp -v | egrep Usin *** Using CPANPLUS::Backend v0.88. $ head -1 ~/perl5/bin/cpanp #!/opt/local/bin/perl $ cpanp 's conf prereqs 1; s save' $ cpanp i Compress::Zlib --force # 他のモジュールをインストール時にエラーるので入れとく $ cpanp i CPAN::Mini $ rehash $ minicpan -r http://ftp.jaist.ac.jp/pub/CPAN -l ~/minicpan $ cpanp CPANP> s reconfigure Selection to configure > 7 - Select mirros Wold you like to keep your current hosts? > n Please choose an option: > 2 Additionals host(s) to add: > file:///<HOME>/minicpan > <RET> Pleas pick one of the following options or Quit when you are done > 1 > 3 - Asia > 5 - Japan > 9 10 11 12 - jaist, nara riken, yamagata > 20 - Quit Selection to configure > 9 - Save & exit CPANP> s mirrors [1] file:///<HOME>/minicpan [2] http://ftp.jaist.ac.jp/pub/CPAN [3] http://ftp.nara.wide.ad.jp/pub/CPAN [4] http://ftp.riken.jp/lang/CPAN [5] http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan > q $
補足
- 途中で Compress::Zlib を入れてるのは,5.8.9 のlib を見てて,怒られたので入れ直した.
- cpanp の設定で依存は自動的に入れる設定にした.(s prereqs 1)
- =cmd は zsh で使える `which cmd` と思ってください
これで,/opt/local/bin/perl で起動する $HOME/perl5/bin/cpanp を使って,
主に $HOME/minicpan から
$HOME/perl5 配下にモジュールがインストールされようになった.
*1:/opt 配下は触りたくない派.