自分のマシンでExercismの演習を解けるように、Perlをローカルにインストールする方法を学びましょう
このトラックはPerlの最新の安定版リリースを対象としています。
古いバージョンのPerlを使うこともできますが、互換性のために用意されたスタブファイルに調整を加える必要があるかもしれません。
スタブファイルで指定されているバージョンを使えない場合は、use v5.XX;を次のコードに置き換えることをおすすめします。
use strict;
use warnings;
use feature qw<signatures>;
スタブファイルにuse experimental qw<class>;が含まれていて、使っているPerlのバージョンがこれをサポートしていない場合は、これをuse Feature::Compat::Class;に置き換えるか、別のオブジェクト指向システム(例えばMoo)を使うという選択肢があります。
Perlはすでにインストールされている可能性が高いですが、それが最新バージョンとは限りません。
perl -vを実行すると、使っているバージョンを確認できます。
より新しいバージョンを使いたい場合は、「その他のオプション」のセクションを確認してください。
Fedora/Red Hat/CentOSを使っている場合、一部のコアモジュールがPerlに含まれていません。
yum install perl-coreコマンドでインストールしてください。
Strawberry Perlは、Windows向けの100%オープンソースのPerlで、他の環境のPerlとまったく同じです。 CPANのモジュールも、バイナリパッケージを必要とせずに使えます。
サイトから直接インストールするか、chocolateyパッケージマネージャーを使うこともできます。
$HOMEディレクトリにある複数のPerlインストールを管理するツールです。
それぞれが完全に独立したPerlの世界です。5.40より古いバージョンのPerlを使っている場合は、テストバンドルTest2::V0をインストールする必要があります。
また、OOPの演習にはFeature::Compat::Classか、代替のオブジェクト指向システムのどちらかをインストールする必要があります。
セットアップには次の手順を使ってください(Perlにすでに慣れているなら、お気に入りのモジュールインストーラーを使ってもかまいません)。
exercism CLIがすでにインストールされ、設定されていることを確認してください。
exercism workspaceを実行すると、適切なパスが表示されるはずです。
cpmモジュールインストーラーをダウンロードし、それを使ってcpm自身、local::lib、Test2::V0、Feature::Compat::Classをexercism/perl5ディレクトリにインストールします。
# *nix
curl -sL --compressed https://git.io/cpm | \
perl - install -L $(exercism workspace)/perl5 App::cpm local::lib Test2::V0 Feature::Compat::Class
# Microsoft PowerShell
(Invoke-WebRequest -UseBasicParsing 'https://git.io/cpm').Content |
perl - install -L "$(exercism workspace)/perl5" App::cpm local::lib Test2::V0 Feature::Compat::Class
local::libを実行して、exercism/perl5にインストールしたモジュールを使えるように環境を設定します。# *nix
eval $(perl -I$(exercism workspace)/perl5/lib/perl5 -Mlocal::lib=$(exercism workspace)/perl5)
# Microsoft PowerShell
perl -I"$(exercism workspace)/perl5/lib/perl5"
-M"local::lib=--shelltype=powershell,$(exercism workspace)/perl5" | Invoke-Expression
上記のコマンドによる環境の変更は保存されないので、シェルを再起動した場合はもう一度実行する必要があります。
毎回自動的に環境を設定したい場合は、.bashrc(または*nix系の同等のファイル)やPowerShell_profile.ps1を編集して、上記のコマンドを追加してください。
local::libのドキュメントはこちらにあります。
あるいは、使っているOSのパッケージマネージャーに、インストールできるTest2 Suiteのパッケージが用意されているかもしれません。 利用できるものには次のようなものがあります。