みなさんは、どのversionのperlをお使いだろうか。
perlは毎年、新しいstable versionがリリースされており、2019年12月現在、最新stable versionは5.30.1である。
perlは後方互換性にとても気を使っており、また新しいperlは細かなパフォーマンスチューニング、バグフィックスをたくさん含んでいる。よって、いつでも最新stable versionのperlを使うのがおすすめである。
おそらくOS付随のperlは最新のものではない。よって最新のperlを使おうとしたとき、自分でビルドしインストールする必要がある。
この記事ではperlのビルド/インストール方法について説明する。
perlのビルド/インストール方法
はじめての方は敬遠しがちかもしれないが、実のところperlをビルドしインストールするのは驚くほど簡単である:
(A) $ wget https://www.cpan.org/src/5.0/perl-5.30.1.tar.gz
(B) $ tar xf perl-5.30.1.tar.gz
(C) $ cd perl-5.30.1
(D) $ ./Configure -Dprefix=$HOME/perl -Dscriptdir=$HOME/perl/bin -des -Dman1dir=none -Dman3dir=none -DDEBUGGING=-g
(E) $ make --jobs=8 install
これでperl 5.30.1をビルドし、$HOME/perl
にインストールできる。かかる時間も4分程度である。
以下(A),(D),(E)について説明を加える。
(A) perlのソースコードを取得
perlのソースコードは https://www.cpan.org/src/ から取得可能である。またこのページでperlの最新versionも確認できる。
なお、perlは 5.(偶数).x
がstable version, 5.(奇数).x
がdeveloper versionとなっている。たとえば、5.26.3, 5.28.2, 5.30.1
はstable version、5.27.5, 5.29.1, 5.31.6
はdeveloper versionである。
developer versionはperlのcoreを開発している人でない限り使うべきでない。
よって5.(偶数).x
のstable versionのうち、もっとも新しいもの選ぶとよいだろう。
(D) Configureオプション
このConfigureオプションが重要である。ひとつひとつ見ていこう。
-Dprefix=(インストール場所)
インストールしたい場所に合わせて自由に設定する。なおperlの実行ファイル自体は (インストール場所)/bin/perl
に配置されることになる。インストール後、環境変数PATHに (インストール場所)/bin
を追加しておこう。
-Dscriptdir=(インストール場所)/bin
これはあまりいい挙動だとは思っていないのだが、perlはいくつかのスクリプトを/usr/local/scirpt
などグローバルなディレクトリにインストールしようとするかもしれない。これを抑止するために、明示的に-Dscriptdir=(インストール場所)/bin
を指定しておこう。
-des
本当は、このオプションは-d
, -e
, -s
の3つにわかれる。特に-d
は、すべての設定値をperlが推奨するデフォルトを使用する、の意味である。これを指定しないと、たくさんの(少なくとも最初は意味不明な)質問に答えないといけなくなる。
ということで-des
は指定しておこう。
-Dman1dir=none -Dman3dir=none
perlのドキュメントはpodという形式で書かれており、それはperldoc
コマンドで参照可能である。よってman形式のドキュメントはほとんどの場合、必要ない。
これらのオプションはman形式のドキュメント作成、インストールを無効化するものである。いつでも指定しておくのがおすすめ。
-DDEBUGGING=-g
いつかperlにデバッグ情報が入っていてよかったと思う日が来るかもしれない。
その日に備えてこのオプションを指定しておくのがおすすめである。
-Duseshrplib
apache httpd mod_perlやnginx unitなどperlと動的リンクさせて動くソフトウェアがある。これらで使うperlをビルドしようと思っているなら必須のオプションである。
逆にいうとその予定がないのなら必要ないオプションである。
-Duseithreads
perlのthread機能を有効にするオプションである。明確にthreadを使うコードがあるというとき以外は必要ない。
(E) makeオプション
--jobs
を指定すれば並列でビルドされ時間短縮になる。よって--jobs=8
などを指定するのがおすすめである。
なお、古いperlは並列でビルドしようとすると失敗することがあるので注意が必要である。具体的には5.20.0未満だと失敗する可能性がある。
おわりに
perlのビルド/インストール方法を紹介した。
perlをビルドしインストールするのは本当に簡単なので、是非自分でビルドし最新のperlを使うといいと思う。
変更履歴
- scriptdirオプションを追加。