2012-03-29
CygwinにもperlbrewでPerlを入れてみた
perlbrewを入れてみたメモ - kanonjiの日記を頼りにCygwinにもperlbrewを入れてみました。色々CPANモジュール入れるのも、システムperlだとやり直しもきかないので入れたんですが、Cygwinだとちょっとハマりどころがありました。
$ perlbrew --notest --force install 5.14.2
普通に入れてたら、テストの途中で止まってしまいました。2回試したけど2回ともダメでした。
$ perlbrew --force install perl-5.12.2したんですが、スレッド関係のテストがいつまで経っても終わらないという自体に遭遇したので、 (これは単に時間がかかりすぎてるだけかもしれないけど)テストをスキップするために、
$ perlberw --notest --force install perl-5.12.2Cygwin環境にperlbrewを導入した - 空繰再繰
検索したらやっぱり止まってるってエントリーがあったので、これに倣って--notest --forceで入れました。
$ perlbrew list perl-5.14.2 $ perlbrew switch 5.14.2 $ eixt
モダンな Perl の開発環境の構築方法 - tokuhirom's blog.によると、ここで一旦shellを抜けて入り直した方が良いらしいので、改めてターミナルを起動します。
$ curl -L http://cpanmin.us/ | perl - App::cpanminus $ type cpanm cpanm is /home/myuser/perl5/perlbrew/perls/perl-5.14.2/bin/cpanm
cpanmがperlbrewで入れたperlの環境下に入ってます。
$ cpanm local::lib --> Working on local::lib Fetching http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz ... OK Configuring local-lib-1.008004 ... OK Building and testing local-lib-1.008004 ... OK Successfully installed local-lib-1.008004 1 distribution installed $ ls perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/local lib.pm
local::libは実は使い方をよく分かってないんだけど、最初にいれておくと何かと便利らしいので、とりあえず入れておきました。cpanmコマンドでちゃんとperlbrewの方にインストール出来てます。
$ cpanm Bundle::LWP $ cpanm Bundle::CPAN $ cpanm Task::Kensho
- Bundle::LWP - search.cpan.org
- CPANモジュールをダウンロードする通信にLWPがあればそれを使うらしい*1ので、最初にいれておきます。
- Bundle::CPAN - search.cpan.org
- CPANユーザのためのいろいろなモジュール。らしい。cpanmだと入れても意味のないモジュールとかもあるんだろうか?まぁ気にせず入れておく。
- Task::Kensho - search.cpan.org
- 2011年頃にTwitterで、モダンなモジュールが揃ってるから次はこれ入れれば良いやみたいな事を言ってる人が居たので、勝手に倣って入れました。
BundleとTaskの違いはよく分からないけど、どちらもCPANモジュールのひとまとめにしたセットです。それなりに大量のモジュールを入れていくけど、Cygwinだとかなり時間がかかります。あと、途中で3回程止まってました。Ctrl+cでInterruptしてやり直したら、最終的にはインストールしきれましたけど。
PERLBREW_ROOT
$ vi .bash_profile #perlbrew export PERLBREW_ROOT=~/.perlbrew
perlbrewをインストールする前にPERLBREW_ROOTを設定すると、インストール先を変更できます。pythonbrewに合わせてみるとか。
インストール直前に$ export PERLBREW_ROOT=~/.perlbrewするだけだと、$ perlbrewを実行したときに動作しないので注意。
5.15.9がインストールできない
$ perlbrew install 5.15.9 Fetching perl-5.15.9 as /home/myuser/perl5/perlbrew/dists/perl-5.15.9.tar.gz Page not retrieved; HTTP error code 400 or above. at /loader/0x200b2a88/App/perlbrew.pm line 147.
Cygwinだからなのかは未確認だけど、5.15.9がインストール出来ませんでした。
CPANモジュールのバージョン確認方法
$ perl -Mlocal::lib -e 'print $local::lib::VERSION' $ perldoc local::lib
ワンライナーで出すか、perldocで確認する。
環境
| Windows | Windows7 |
| Cygwin | 1.7.11-1 |
| setup.exe*2 | version 2.769 |
