hero_picture

perlbrewで構築するモダンなPerl環境

モダンな Perl 環境構築方法をご紹介したいと思います。

perlbrew は、ホームディレクトリに複数の Perl をインストールして切り替えをしてくれるツールです。

perlbrew のインストール

以下のようなコマンドを実行すると、prebrew をインストールできます。

1$ curl -kL http://install.perlbrew.pl | bash

perlbrew のインストール方法はいくつかあります。

他の方法は以下のサイトを参照して下さい。

http://perlbrew.pl/

perlbrew コマンドを使うためにインストールされたコマンドにパスを通す設定が必要です。

bash なら bashrc に以下のような設定を書くと良いでしょう。

1source ~/perl5/perlbrew/etc/bashrc

perlbrew で Perl をインストール

以下のコマンドで、利用できる Perl のバージョンを確認できます。

1perlbrew available

現時点では以下の様なリストが表示されました。

1perl-5.17.6
2perl-5.16.2
3perl-5.14.3
4perl-5.12.5
5perl-5.10.1
6perl-5.8.9
7perl-5.6.2
8perl5.005_04
9perl5.004_05
10perl5.003_07

最新版をインストールするとよいでしょう。

注意点としては、

5.xxxxの部分が奇数のバージョンは開発版であり、また5.xx.0はバグがある可能性が高いので、正式に使うのであれば、これらのバージョンを避けたほうがよいでしょう。

今回は、5.16.2をインストールします。

インストールは次のコマンドでできます。

1$ perlbrew install 5.16.2

インストールは少し時間がかかります。

テストを省略しても支障がない場合は、次のコマンドでインストールすると、少し早く完了します。

1$ perlbrew install --notest 5.16.2

perlbrew で Perl を切り替え

次のコマンドで、インストールした Perl を確認することができます。

1$ perlbrew list
2perl-5.16.2

Perl を切り替える場合は、次のコマンドで行えます。

1$ perlbrew switch 5.16.2

もう一度perlbrew listで確認してみましょう。

1$ perlbrew list
2*perl5.16.2

行の最初に米印がついているバージョンが、現在選択しているPerlです。

whichコマンドでperlコマンドのフルパスを確認してみましょう。

1$ which perl
2/home/uchiyama/perl5/perlbrew/perls/perl-5.16.2/bin/perl

ホームディレクトリにインストールしたPerlが使われるようになっていると思います。

cpanm をインストール

ついでに CPAN モジュールをインストールするコマンドである cpanm もインストールしましょう。
perlbrew のコマンドでインストールできます。

1$ perlbrew install-cpanm

これでcpanmコマンドが使えるようになります。
ホームディレクトリにモジュールがインストールされるようになっているので、root権限はいりません。
また、好きなモジュールを入れても全体に影響を及ぼすことはありません。

cron での使い方

perlbrew で入れた Perl を cron で実行するとき、いくつか設定する必要があります。
まず、次のようなシェルスクリプトを用意します。

1env.sh
2#!/bin/sh
3export HOME=/home/uchiyama
4source ~/perl5/perlbrew/etc/bashrc
5perlbrew use perl-5.16.2
6exec "$@"

そして、crontab の設定で次のような感じで記述します。

1/home/uchiyama/env.sh perl /home/uchiyama/hoge.pl > /tmp/hoge 2>&1

以上のようにに設定することで、perlbrewでインストールされたPerlが使われるようになります。
普通に実行してしまうと、システムに標準で入っているPerlの方で実行されてしまうので注意して下さい。

参考

https://blog.riywo.com/2012/05/26/005232/

まとめ

perlbrew で perl 環境を作る方法をご紹介しました。

共有環境の場合、ホームディレクトリに perl がインストールされていると安心感があります。

Perl を使うときはぜひこの方法で環境構築してみてください。