Hatena::ブログ(Diary)

kanonjiの日記 RSSフィード

http://kanonji.info/blog/ 2013年2月頃に移転しました。

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.2
416 Requested Range Not Satisfiable

検索したらやっぱり止まってるってエントリーがあったので、これに倣って--notest --forceで入れました。

$ perlbrew list
  perl-5.14.2
$ perlbrew switch 5.14.2
$ eixt

はてなブログによると、ここで一旦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で確認する。

環境

WindowsWindows7
Cygwin1.7.11-1
setup.exe*2version 2.769

*1:cpanmだからじゃなくてcpanコマンドの話。cpanmコマンドがどんな動きをするのかは全く知りません

*2:Cygwinのインストーラー

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証