StrawberryPerlとcpanmの設定
Perlのインストール
Windows用のPerlとしては、ActivePerlとStrawberryPerlがある。
今回は、gcc等のコンパイラを含み、CPANのインストールが楽だというStrawberryPerlを利用する。
インストーラの実行については割愛。
インストーラがStrawberryPerlのPATHも追加するが、SourceTreeが先にインストールされていた場合、うまくStrawberryPerlが呼び出せないことがある。
環境変数PATHを手動で変更して、C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin を先頭にすることで解決できる(はず……SourceTreeがPerlを呼ぶときに、混乱が起こるかもしれない)。
cpanmをローカルで使う
StrawberryPerlにはすでにcpanmとlocal::libが組み込まれている。
そこで、local::libを使ってモジュールをユーザーローカルの環境にインストールするように設定する。
>cpanm local::lib local::lib is up to date. (2.000004)
perl -Mlocal::lib を実行すると、Windowsに設定するべき環境変数のリストを見られる。
>perl -Mlocal::lib @if not "%PATH%"=="" set PATH=C:\Users\thegoodbadugly\perl5\bin;%PATH% @if "%PATH%"=="" @set PATH=C:\Users\thegoodbadugly\perl5\bin @if not "%PERL5LIB%"=="" set PERL5LIB=C:\Users\thegoodbadugly\perl5\lib\perl5;%PERL5LIB% @if "%PERL5LIB%"=="" @set PERL5LIB=C:\Users\thegoodbadugly\perl5\lib\perl5 @if not "%PERL_LOCAL_LIB_ROOT%"=="" set PERL_LOCAL_LIB_ROOT=C:\Users\thegoodbadugly\perl5;%PERL_LOCAL_LIB_ROOT% @if "%PERL_LOCAL_LIB_ROOT%"=="" @set PERL_LOCAL_LIB_ROOT=C:\Users\thegoodbadugly\perl5 @set PERL_MB_OPT=--install_base ^"C:\\Users\\thegoodbadugly\\perl5^" @set PERL_MM_OPT=INSTALL_BASE=C:\\\\Users\\\\thegoodbadugly\\\\perl5
(注意!)thegoodbaduglyの部分はユーザー名になるので、ここからコピペしてはいけない。
これをリダイレクトすればバッチファイルとして使えそうだが、Windowsではコントロールパネルのシステムの詳細からひとつひとつ設定することになる。
変数=値とすると、以下の四つの環境変数の設定が必要になる。
PERL5LIB=C:\Users\thegoodbadugly\perl5\lib\perl5 PERL_LOCAL_LIB_ROOT=C:\Users\thegoodbadugly\perl5 PERL_MB_OPT=--install_base "C:\\Users\\thegoodbadugly\\perl5" PERL_MM_OPT=INSTALL_BASE=C:\\\\Users\\\\thegoodbadugly\\\\perl5
(もう一度注意!)thegoodbaduglyの部分はユーザー名になるので、ここからコピペしてはいけない。
(もう一つ注意!)PERL_MB_OPTのダブルクオーテーションの前の^記号は、取り除かなくてはいけない。
この設定を行ったら、新しいコマンドプロンプトを立ち上げて、以降の設定はそこで行う。