tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

Mac OS Xにperlbrew入れてperlの好きなバージョンを入れたり切り替えたりしてみるメモ

はじめに

Mac OS Xでのperl開発において、
catalystやらmojoliciousを入れるようとすると
macに入っているデフォルトのperlのバージョンでは要件が合わないことがあります。

もとのをバージョンアップするなりダウンするなりしても良いのですが、
面倒なので別途perlを入れて切り替えて使えるようにするってものです。

何度目かわかりませんがメモってないことはとりあえず全部メモってやれという心境です。

ながれ

  1. perlbrewの説明
  2. perlbrewインストール
  3. 好きなバージョンのperlインストール
  4. perlの切り替え
  5. cpanmインストール

1. perlbrewの説明

perlbrewとは

はじめにでも若干書いてしまいましたが、
ちゃんとした文章で説明したほうが良い気がして参考記事をそのまま引用。

【perlbrewとは】
ホームディレクトリに複数perlをインストールして切り替えをしてくれるツールです
参考:perlbrewで構築するモダンなPerl環境

perlbrewいれるメリット

こちらも参考サイトまんまですがせっかく入れるならメリットも知っておきたいだろうということで載せます。

  • 管理者権限が必要ない
  • 古いperlも使える
  • perl複数インストールして切り替えられる

参考:PerlbrewをMac OS Xにインストールする

2. perlbrewインストール

ではさっそく。
といってもインストールそのものは下記のcurl ...の一行だけです。

※ 念のため入ってないことを確認
# perlbrew --version
zsh: command not found: perlbrew

※ インストール
#  curl -kL http://install.perlbrew.pl | bash

※ 一応入ったか確認
# ~/perl5/perlbrew/bin/perlbrew --version
perl5/perlbrew/bin/perlbrew  - App::perlbrew/0.71

※ パスを通す(bashの人は〜/.bashrc、zshの人は/.zshrcなど適宜変えて)
# vi ~/.bashrc
---- vi追記 ----
source ~/perl5/perlbrew/etc/bashrc
---------------

※ 上記の設定を反映
# source ~/.bashrc
補足

パスを通す設定では.bashrcに設定しましたが、
自分のmacではログインシェルで.bashrcは読まれてませんでした。
(設定が効いてない)

毎回ログインしてからsource ~/.bashrcとやれば大丈夫ですが
それは面倒なのでログイン時に読み込まれるようにちゃんと設定します

※ .profileに.bashrcを読むように追記(これでログイン時に読まれる)
# vi ~/.profile
---- vi追記 ----
source ~/.bashrc
---------------

bashrc系の読み込まれる順序についはこちらが参考になります
bashrcの設定の読み込まれる順番

補足の補足

設定は.bash_profileでも.profileでも大丈夫ですが
自分は後でzshや他のシェルに変えてもperlbrewはパスが通っていて欲しかったので .profileにしました。お好みに合わせてどうぞ。

また、設定ファイル的には.bash_profileを先に読もうとします。
.bash_profileが無い場合にだけ.profileを読むので.bash_profileがある場合はそちらに書きましょう!

3. 好きなバージョンのperlインストール

こちらもやってみるだけですね。

※ インストールできるperlのバージョンを確認(※下に補足)
# perlbrew available
  perl-5.20.1
  perl-5.18.2
  perl-5.16.3
  perl-5.14.4
  perl-5.12.5
  perl-5.10.1
  perl-5.8.9
  perl-5.6.2
  perl5.005_04
  perl5.004_05
  perl5.003_07

※ 適当なところで5.18をインストールしてみる
# perlbrew install perl-5.18.2

perl-5.18.2 is successfully installed.と表示されれば終わりです。
自分は今回4,50分かかりました。

補足1

perlbrew availableで表示されるバージョンについて
(参考サイトの受け売りです)

  • 5.xxのxx部分が奇数のバージョンは開発版
  • 5.xx.0はバグがある可能性が高い

わかっていて入れる意外はこれらのバージョンは避けたほうが良い

補足2

perlのインストールにはしばらく時間がかかります。
perlbrew installコマンドを打つと

tail -f ~/perl5/perlbrew/build.perl-5.18.2.log

みたいな感じで表示されるかと思います。

別のターミナルを開いて上記をそのまま打ってみるとインストールの途中経過がログとして見れます

補足3

以前にgrowthforecasの記事でもperlbrew入れて失敗したりしたんですが、
失敗した場合は下記のコマンドでうまくいったりします。
notestがいいですかね。

# perlbrew --notest install perl-5.18.2
または
# perlbrew --force install perl-5.18.2

4. perlの切り替え

こちらも論よりコマンドということでいきなりコマンドから

※ perlbrewによって入れたperlを確認
# perlbrew list
  perl-5.18.2

※ perlを切り替える
# perlbrew switch 5.18.2

※ 再度確認(*がついてるのがいま選択してるやつ)
# perlbrew list
* perl-5.18.2

※ whichコマンドでperlのパスを確認
# which perl
/Users/hoge/perl5/perlbrew/perls/perl-5.18.2/bin/perl

※ perlのバージョンも見てみる
# perl -version

This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-2level

Copyright 1987-2013, Larry Wall
・・・省略・・・

5. cpanmインストール

perlbrewを使ってCPANもインストールしてしまいます。
なにかと使いますしね。これはすぐ終わります。

# perlbrew install-cpanm

cpanm is installed to

    /Users/hoge/perl5/perlbrew/bin/cpanm
補足

cpanmのログを見たいときはこんな感じ

# tail -f .cpanm/build.log

その他補足

cronでperlbrewで入れたperlを使用する場合は注意が必要らしいです。
細かくは参考サイトを。(手抜き)
perlbrewで構築するモダンなPerl環境

まとめ

ってことで入れたのは何度目かですが改めてちゃんとメモってみました!
とはいうもののやっていて初めてな気分だったので数回やったくらいじゃほんと覚えてませんねー。。。