Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. インストール

msys2をWindowsにインストールしてPerlを使う

msys2をWindowsにインストールしてPerlを使う方法を解説します。

msys2(エムシスツー)は、Windows上でLinux風のシェル環境を提供するツールです。Linux風の環境でPerlを使って開発ができます。

msys2の画面

msys2なら、ls、cat、tar、gitといったLinuxコマンドを利用することができますし、UTF-8も正しく表示できます。

POSIX互換レイヤーがありますので、Linuxでの起動を前提とした、Mojoliciousの開発サーバーも正しく動きます。

msys2のインストール 10分

msys2をダウンロードしてインストールしましょう。

msys2のダウンロード

msys2をインストールしましょう。64bit版Windowsの場合は64bit版のmsys2を、32bit版のWindowsの場合は32bit版のmsys2を利用しましょう。

現在(2018年)では、たいていのWindowsは64bit版かと思われますので、普通は64bit版で大丈夫なはず。以下の解説は64bit版を前提に行います。

一番上にあるのが、最新版です。クリックして、msys2をデスクトップに、ダウンロードしましょう。

ユーザー名の確認

Windowsの「C:\Users」(日本語表示は C:\ユーザー)以下にあるユーザーディレクトリが、以下のように英語になっていることを確認してください。

kimot

もし、以下のように日本語になっている場合は、追加の設定が必要になります。

木本

日本語になっていた場合は、msys2をインストールする前に、環境変数の設定で、変数名に「HOME」を、変数値に「C:\msys64\home\msys2user」のように設定してください。

msys2のホームディレクトリに上記のディレクトリが設定されます。

msys2のインストール

デスクトップにあるmsys2のアイコンをダブルクリックします。

次へを押していくと、インストールが始まります。3分くらいかかりますので、待ちましょう。

完了を押すとmsys2が起動しますが、いったん右上のバツを押して終了させましょう。

msys2の二回目以降の起動

msys2を一度閉じると、次は、どこから起動したらいいんだろうと迷いますね。

Windowsのスタート-メニューのアプリケーションの一覧からmの目次を探すと「MSYS2 64bit」のディレクトリがあります。

その中に

  • MSYS2 MinGW 64bit
  • MSYS2 MINGW 32bit
  • MSYS2 MSYS

がありますが、「MSYS2 MSYS」を起動しましょう。msys2には、3種類の起動スクリプトがありますが、Perlを正しく動かす場合は、Linuxの再現性が最も高い「MSYS2 MSYS」を選択します。

これを間違うと正しくPerlの環境が整えられないので、注意してください。

他の二つは、Windowsネイティブアプリを開発する場合に利用するようです。

デスクトップにショートカットを作成しておくと起動が便利です。その場合は「右クリック」「その他」「ファイルの場所を開く」から「MSYS2 MSYS」を「右クリック」「コピー」して、デスクトップで「貼り付け」です。

Perl環境構築 20分

msys2でPerlを利用できるようにします。PerlとPerlで必要となる開発環境の一覧をまとめてインストールしましょう。

pacmanはmsys2のパッケージマネージャーです。

pacman -S perl perl-CPAN msys2-devel make libcrypt-devel

上記をコピーして、msys2で「右クリック」→「Paste」するとペーストされます。Enterを押して、上記のコマンドを実行しましょう。

インストールするか聞かれるので「Enter」を押して進めましょう。何を聞かれても「Enter」で大丈夫。

以下がインストールされます。これが、Perlを正しく動かすために必要な最小限の環境です。

  • perl (perl)
  • cpan (perl-CPAN)
  • gcc (msys2-devel)
  • make (make)
  • crypt.h (libcrypt-devel)

ここで一度右上のバツを押して、ターミナルを閉じて、「MSYS2 MSYS」再起動してください。これを行わないと、PATHの設定が正しくされず、cpanコマンドが正しく動きません。

Perlがインストールされているか確認しましょう。

perl -v

以下のように表示されれば、インストールされています。バージョンは、新しい場合もあります。

This is perl 5, version 24, subversion 4 (v5.24.4) built for x86_64-msys-thread-multi

Perlスクリプトを実行

msys2のユーザーディレクトリは以下の場所になっています。ユーザーディレクトリの下にPerlスクリプトを配置しましょう。

C:\msys64\home\ユーザー名

カレントディレクトリを移動。

cd C:\msys64\home\ユーザー名

ここに「test.pl」というファイルを作成。以下を記述しましょう。

print "Hello, World!\n";

Perlスクリプトを実行してみましょう。

perl test.pl

以下のように表示されれば、Perlはうまくインストールされて、プログラムが実行できています。

Hello, World!

CPANモジュールのインストール

Perlの環境が正しく構築されているかを確認するために、ピュアPerlで動くMojoliciousとXSで書かれているJSON::XSをインストールしてみましょう。

CPANモジュールの中には、Unix/Linux環境で動くことが想定されているものもあります。以下の設定で、シンボリックリンクが、msys2で正しく動くようにしてください。

export MSYS=winsymlinks

初回はcpanを自動設定するか聞かれるので「Enter」で進めましょう。何を聞かれても「Enter」で大丈夫です。

cpan Mojolicious
cpan JSON::XS

このインストールが確認できると作業は終了です。お疲れさまでした。

トラブルシューティング

msys2のインストール、Perlのインストール手順が失敗する場合に、ウイルスチェッカー(Avast、マカフィー、ノートン、etc)が、msys2をウイルスソフトだと誤検知する場合がありました。

また、ウイルスチェッカーによって管理者権限で、実行できない場合がありました。

この問題が起こった場合は、msys2のインストーラーを起動する前に、ウイルスチェッカーを一時的に停止して、右クリック「管理者権限として実行」を行ってください。

Windows 10である場合は、デフォルトのウイルスソフトであるWindows Defenderを使えば、問題なくインストールできるようです。

よく使うLinuxコマンド

gitやrsyncなどの、よく使うLinuxコマンドも一緒にインストールしておくと、よいでしょう。

pacman -S git
pacman -S rsync

お願い

msys2は定期的にアップデートされて、パッケージ名やアップデートコマンドが変わったりするので、この手順でうまくいかない場合は、リポジトリかTwitterにてお知らせください。

Qiitaで
「3分間Perlテキストクッキング」
という連載を始めました。
テキスト処理を題材にして、3分くらいで読める分量で、書いていきます。
文字コード、テキストデータ、コンピュータにおけるテキストの扱いなど、ソフトウェアの基礎の話題も
3分間Perlテキストクッキング