Windows Bash の Git で Perl を実行する際の問題

Windows Bash の Git で Perl を実行する際の問題

問題は、Perl がシステムにインストールされていて、bash はそれを認識できるものの、モジュールを含む Perl スクリプトを実行しようとするとエラーが発生することです。

@INC で Text/CSV.pm が見つかりません (Text::CSV モジュールをインストールする必要がある可能性があります) (@INC には、/usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl が含まれています)、parse_prospects.pl の 5 行目。BEGIN が失敗しました。parse_prospects.pl の 5 行目でコンパイルが中止されました。

CMDではそのようなエラーは発生しないので、互換性を持たせるにはどうすればいいのか疑問に思います。bash上のperlがLinux上にあると思って、/usr/shareでパッケージを見つけようとするようなものです。

答え1

私は Strawberry Perl を使用していました。そのため、Strawberry Perl をお持ちで、MSYS2 または Git for Windows で Perl を使用する場合は、Strawberry Perl またはお持ちの Perl ディストリビューションのモジュールへのルートを指定した PERL5LIB という ENV 変数を指定する必要があります。

 export PERL5LIB=/c/Strawberry/perl/vendor/lib

これをシステム上で永続的に使用するには、ホーム ルートの .bashrc に配置する必要があります。こうすることで、CMD と bash の両方が同じモジュールを使用するようになります。

関連情報