前書き
Perl 5は、成熟したフル機能のプログラミング言語です。 世界中のミッションクリティカルなビジネスシステムを含む、あらゆる種類の本番プロジェクトで使用されています。 Perlbrewソフトウェアパッケージを使用すると、Perl 5プログラミング言語のバージョンをインストール、削除、および切り替えることができます。
PerlbrewはPerlをホームディレクトリにインストールし、インストールするPerlの各バージョンは他のバージョンから独立しています。 これにより、他のバージョンに干渉したり影響を受けたりすることなく、複数のPerlバージョンに対してコードをテストできます。 これには、オペレーティングシステムのデフォルトPerlパッケージが含まれます。これは通常、最新の安定バージョンよりもはるかに古いものです。
このチュートリアルでは、Perlbrewをインストールし、それを使用してPerl 5のバージョンをインストールしてテストします。
前提条件
このガイドに従うには、次のものが必要です。
-
sudo非rootユーザーとファイアウォールを含むthe CentOS 7 initial server setup guideに従うことによってセットアップされた1つのCentOS7サーバー。
[[step-1 -–- installing-perlbrew]] ==ステップ1-Perlbrewのインストール
Perlbrewをインストールする前に、いくつかの前提条件パッケージが必要です。 Perlbrewは、Perlをコンパイルしてインストールするために、コンパイラであるgcc
と圧縮ユーティリティであるbzip2
を必要とします。 これらのパッケージはデフォルトでCentOS 7にインストールされていませんが、サーバーにいくつかのパッケージを追加した場合、これらの2つのパッケージが既にある可能性があります。 不足しているものを簡単に見つけることができます。
[.note]#Note:次の例に表示されるパッケージのバージョン番号は、これらのパッケージが定期的に改訂されているため、このガイドに表示されているものよりも大きい場合があります。
#
Perlのビルドには、2つのgcc関連パッケージlibgcc
とgcc
が必要です。 これらのパッケージが既にあるかどうかを確認するには、次のコマンドを実行します。
rpm -qa | grep gcc
インストールされている場合、次の出力が表示されます。
Is the gcc package installed?libgcc-4.8.5-11.el7.x86_64
gcc-4.8.5-11.el7.x86_64
CentOS 7にはデフォルトでlibgcc
パッケージのみが含まれているため、次のコマンドでgcc
をインストールできます。
sudo yum install gcc
bzip2-libs
およびbzip2
パッケージも必要です。 それらもインストールされていることを確認してください:
rpm -qa | grep bzip2
両方がインストールされている場合、次のように表示されます。
Is the bzip2 package installed?bzip2-libs-1.0.6-13.el7.x86_64
bzip2-1.0.6-13.el7.x86_64
デフォルトでは、CentOS 7にはbzip2-libs
パッケージのみが含まれています。 bzip2
パッケージを追加します。
sudo yum install bzip2
最後に、patch
ユーティリティをインストールします。
sudo yum install patch
前提条件が整っていれば、Perlbrewをインストールできます。 サーバーにインストールスクリプトをダウンロードします。
curl -L https://install.perlbrew.pl -o install.perlbrew.pl
スクリプトを実行する前にスクリプトの内容を監査するには、テキストエディターで開いてその内容を表示します。
vi install.perlbrew.pl
スクリプトの内容に慣れたら、pipeをbash
に変換して、インストールスクリプトを実行します。
cat install.perlbrew.pl | bash
これにより、/home/sammy/perl5
に新しいディレクトリ構造が作成され、PerlbrewはサポートファイルとPerlのバージョンを保存します。 インストールスクリプトから次の出力が表示されます。
Output## Download the latest perlbrew
## Installing perlbrew
perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew
perlbrew root (~/perl5/perlbrew) is initialized.
Append the following piece of code to the end of your ~/.bash_profile and start a
new shell, perlbrew should be up and fully functional from there:
source ~/perl5/perlbrew/etc/bashrc
Simply run `perlbrew` for usage details.
Happy brewing!
## Installing patchperl
## Done.
次に、perlbrew
ユーティリティを使用して、/home/sammy/perl5/perlbrew
にいくつかの初期構成ファイルとディレクトリを作成します。
~/perl5/perlbrew/bin/perlbrew self-install
次の出力が表示されます。
OutputYou are already running the installed perlbrew:
/home/sammy/perl5/perlbrew/bin/perlbrew
これでPerlbrewがインストールされましたが、使いやすくするためにシェルの構成ファイルを変更する必要があります。
[[step-2 -–- editing-your-bash_profile-to-include-perlbrew]] ==ステップ2 –.bash_profile
を編集してPerlbrewを含める
Perlbrewを使用してPerlのバージョンをインストールする前に、.bash_profile
ファイルを編集して、いくつかの重要なPerlbrew環境変数を自動的に設定する必要があります。 Perlbrewは、.bash_profile
に含めることができる別の構成ファイルに必要なコードを含めることにより、これを簡単にします。
エディターでファイル~/.bash_profile
を開きます。
vi ~/.bash_profile
ファイルの最後に次の行を追加して、Perlbrew設定を含めます。
source ~/perl5/perlbrew/etc/bashrc
ファイルを保存し、エディターを終了します。
次に、ログアウトしてから再度ログインし、.bash_profile
ファイルがPerlbrewの設定をロードしていることを確認します。 これで、PATH
環境変数の前に/home/sammy/perl5/perlbrew/bin
が追加され、Perlbrewが必要とする他のいくつかの環境変数が設定されます。
テキストPERL
に対してenv
コマンドとfiltering the results with grep
を実行して、これらの環境変数が設定されていることを確認します。
env | grep PERL
次のようなエントリが表示されます。
OutputPERLBREW_BASHRC_VERSION=0.78
PERLBREW_ROOT=/home/sammy/perl5/perlbrew
PERLBREW_HOME=/home/sammy/.perlbrew
これらの環境変数は、重要なディレクトリの場所をPerlbrewに伝えます。 このチュートリアルの発行後にPerlbrewが改訂された場合、バージョン番号が高くなる可能性があります。
which perlbrew
と入力すると、perlbrew
コマンドへのフルパスが識別されます。
which perlbrew
端末に次のように表示されるはずです。
Expected Output~/perl5/perlbrew/bin/perlbrew
Perlbrewがインストールされ、構成されたので、使用を開始しましょう。
[[step-3 -–- installing-and-building-your-perl-version]] ==ステップ3–Perlバージョンのインストールとビルド。
Perlbrewを使用して、Perl 5の安定バージョンをインストールしましょう。 perlbrew
コマンドを使用して、インストールに使用できるPerlバージョンを確認します。
perlbrew available
次の部分的なリストに類似したリストが表示されます。
Partial Listing perl-5.25.11
perl-5.24.1
perl-5.22.3
perl-5.20.3
perl-5.18.4
...
perl-5.25
などの奇数番号のメジャーバージョンは活発に開発中であり、安定しているか、本番環境に対応しているとは見なされません。 一般に、これらの古いバージョンのいずれかを必要とするレガシーコードがない限り、5.10.1
より古いバージョンは使用しません。
出力によると、perl-5.24.1
は、メジャー番号が偶数であるため、最新の安定バージョンです。 リストに表示されている任意のPerlバージョンを選択できますが、このチュートリアルでは、perl-5.24.1
をインストールします。
perlbrew install
でインストールします。
perlbrew install perl-5.24.1
Perlのインストールは、ビルドとインストールにかなり時間がかかります。通常は約20分です。 ビルドプロセスを中断しないでください。 ビルドの進行状況を確認したい場合は、別のターミナルセッションを開き、tail -f ~/perl5/perlbrew/build.perl-5.24.1.log
を使用してビルドログを監視できます。
ビルドが完了すると、Perlbrewから次の出力が表示されます。
Output perl-5.24.1 is successfully installed.
ビルドが完了すると、ビルドログファイルの最後の行は次のようになります。
Output
##### Brew Finished #####
インストールするPerlのバージョンごとにこのプロセスを繰り返すことができます。 このガイドでは、1つのバージョンのインストールのみを示していますが、このステップは必要な数のバージョンに対して繰り返すことができます。
次に、Perlbrewを使用して複数のバージョンのPerlを操作する方法を見てみましょう。
[[step-4 -–- managing-your-new-perl-installation]] ==ステップ4–新しいPerlインストールの管理
この時点で、システムには2つのバージョンのPerlがあります。オペレーティングシステムで提供されているベンダーバージョンと、Perlbrewで~/perl5
ディレクトリ内にインストールしたばかりのPerlバージョンです。
新しいPerlインストールを使用するには、次のコマンドを実行します。
perlbrew use perl-5.24.1
このコマンドは、PERLBREW_PERL
環境変数を更新して、現在のログインセッションで指定されたPerlバージョンを指すようにします。
ログインするたびにPerlのバージョンをデフォルトにする場合は、次のコマンドを実行します。
perlbrew switch perl-5.24.1
このコマンドは、ログインするたびに、指定されたPerlバージョンを指すようにPERLBREW_PERL
環境変数を設定します。
Perl 5.24.1を使用していることを確認します。
perl -V
次のような出力が表示されるはずです。
Parial Output...
%ENV:
PERLBREW_BASHRC_VERSION="0.78"
PERLBREW_HOME="/home/sammy/.perlbrew"
PERLBREW_MANPATH="/home/sammy/perl5/perlbrew/perls/perl-5.24.1/man"
PERLBREW_PATH="/home/sammy/perl5/perlbrew/bin:/home/sammy/perl5/perlbrew/perls/perl-5.24.1/bin"
PERLBREW_PERL="perl-5.24.1"
PERLBREW_ROOT="/home/sammy/perl5/perlbrew"
PERLBREW_VERSION="0.78"
@INC:
/home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
/home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
/home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
/home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
.
Perlbrewは、コアPerlコードのみをインストールします。 Perlの特定のバージョンのコアを構成するモジュールを確認するには、次のコマンドを実行します。
corelist -v 5.24.1
perlbrew use
またはperlbrew switch
コマンドを使用した後はいつでも、コマンドperlbrew off
を使用してPerlのベンダーバージョンの使用に戻ることができます。 perlbrew switch
を使用して新しいデフォルトのPerlを設定した場合は、perlbrew switch-off
を使用してそのデフォルト設定を削除できます。
フラグなしで発行されるperlbrew
コマンドは、役立つコマンドの簡単なリストを生成します。 コマンドperlbrew help
は、より詳細なヘルプ情報を生成します。
追加のPerlモジュールをインストールしてみましょう。
[[step-5 -–- testing-your-perl-installation-by-installing-modules-from-cpan]] ==ステップ5–CPANからモジュールをインストールしてPerlインストールをテストする
Perlは、コア言語を拡張する公開コードモジュールの膨大な配列を提供します。 これらのモジュールは、包括的なPerlアーカイブネットワーク(CPAN)に保存されます。 あなたが書いていると考えているコードは、すでに書かれ、テストされ、CPANで利用可能です。 CPAN repositoryを使用して、車輪の再発明を回避できます。
App::cpanminusは、CPANリポジトリを探索してモジュールをダウンロードできるPerlモジュールです。 人気があり使いやすいです。 このモジュールをインストールし、それを使用して新しいPerlインストールをテストしましょう。
新しいPerlインストールを使用していることを確認します。
perlbrew use perl-5.24.1
cpanminusモジュールをインストールします:
curl -L https://cpanmin.us | perl - App::cpanminus
次の出力が表示されます。
Output--> Working on App::cpanminus
Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz ... OK
Configuring App-cpanminus-1.7043 ... OK
Building and testing App-cpanminus-1.7043 ... OK
Successfully installed App-cpanminus-1.7043
1 distribution installed
cpanminusモジュールが存在することを確認します。
perlbrew list-modules
出力にApp::cpanimus
が表示されます。
OutputApp::cpanminus
Perl
コマンドラインユーティリティcpanm
を使用して、追加のモジュールとその依存関係をインストールできるようになりました。 これを使用して、Email::Simple
モジュールをインストールしましょう。これは、電子メールメッセージを送信するためのPerlコードを作成する場合に必要です。
cpanm Email::Simple
インストールが完了したら、モジュールのリストを再度確認します。
perlbrew list-modules
次の出力が表示されます。
Expected OutputApp::cpanminus
Email::Date::Format
Email::Simple
Perl
Email::Simple
モジュールにはEmail:Date::Format
モジュールが必要です。 cpanm
プログラムが依存関係をインストールしました。
コアPerlインストールを完了するために何をインストールすればよいかわからない場合は、Task::Kenshoを参照してください。これは、実稼働に対応していると見なされるさまざまなタスクに対応する多数のモジュールについて説明しています。
結論
このチュートリアルでは、Perlbrewをインストールし、それを使用してホームディレクトリにローカルバージョンのPerlをインストールしました。 また、Perlbrewを使用してPerlの複数のバージョンをインストールおよび管理する方法、およびcpanm
ユーティリティを使用してCPANリポジトリから追加のモジュールをインストールする方法も学習しました。 同じプロセスを使用して異なるバージョンのPerl 5をインストールできるため、アプリに必要なバージョンをインストールできます。