LuaとLuaRocksのWindowsインストール

いちごパック > Luaの解説 > LuaとLuaRocksのWindowsインストール

一般的なインストール方法

例えばLinuxでは、Luaのインストールはソースコードからビルドする形で行えます。
% wget https://www.lua.org/ftp/lua-X.X.X.tar.gz
% tar -xvzf lua-X.X.X.tar.gz
% cd lua-X.X.X
% make linux
% make test
この方法はWindowsでも使えますが、 Windows用のビルド済みバイナリが配布されていますので、 こちらを使うのが簡単でしょう。
また、LinuxであればLuaRocksも同様にインストールできます。
% wget https://luarocks.org/releases/luarocks-X.X.X.tar.gz
% tar -xvzf luarocks-X.X.X.tar.gz
% cd luarocks-X.X.X
% ./configure
% sudo make bootstrap
しかしながら、LuaRocksはLinuxが持つコマンドを多用するため、 Windowsで利用するには多くの準備が必要になります。 Windows用のファイル一式とインストーラが配布されていますので、 こちらを使うのが簡単でしょう。 ただ、LuaRocksと一緒に配布されているLuaのバージョン(執筆時点では5.1系)が古いため、 新しいバージョンのLua(執筆時点では5.3系)を使いたい場合はインストール時に留意する必要があります。
以下では、Windowsでインストールする方法について説明します。

Windowsインストール

以下では、システムの設定を変えずにLua 5.3.4とLuaRocks 2.4.3をインストールする方法について説明します。

ファイルのダウンロード

Luaについては、 Windows用のビルド済みバイナリから、 以下の名前を持つ最新のファイルをダウンロードします。
  • lua-X.X.X_Win32_bin.zip
  • lua-X.X.X_Win32_dllw4_lib.zip
  • バージョン部分(X.X.X)は、執筆時点では5.3.4になります。
    LuaRocksについては、Windows用のファイル一式とインストーラから、 以下の名前を持つ最新のファイルをダウンロードします。
  • luarocks-X.X.X-win32.zip
  • バージョン部分(X.X.X)は、執筆時点では2.4.3になります。
    LuaとLuaRocksは、別々のフォルダにインストールして使います。

    Visual Studioのインストール

    Luaのビルド済みバイナリだけを使う場合は必要ありませんが、 Luaをソースコードからビルドしたり、Luarocksを利用した機能追加を行うには、 Visual StudioなどのCコンパイラが必要になります。 Visual StudioのCommunity Edition(非商用のみ)あるいはExpress Editionであれば、 Visual Studioの公式Webサイトから無料で入手できますので、 用途に合わせてダウンロードすると良いでしょう。

    Luaのインストール

    Luaをインストールしたいフォルダに、 先ほどダウンロードしたlua-X.X.X_Win32_bin.zipとlua-X.X.X_Win32_dllw4_lib.zipの中身をすべて展開します。 この際、両方のファイルに含まれているluaXX.dllは同じファイルですので、単に上書きしてください。
    Lua本体のインストールに必要な作業は、この展開のみです。 展開後、エクスプローラからlua53.exeをダブルクリックすれば起動できる状態になっています。
    以下の説明では、フォルダc:\usr\lua-5.3に展開したものとして説明します。

    LuaRocksインストーラの準備

    先ほどダウンロードしたluarocks-X.X.X-win32.zipは、LuaRocksのインストーラです。 全ファイルを一時的なフォルダに展開してください。 展開したフォルダに、luarocks-X.X.X-win32という名前のフォルダができているはずです。
    以下では、このフォルダ名をc:\tmp\luarocks-X.X.X-win32として説明します。

    VC起動バッチファイルの確認

    LuaRocksのインストールを行うには、 Visual C++ (x86 Native)のコマンドプロンプトからインストーラを実行する必要があります。 また、LuaRocksを使う際もVisual C++ (x86 Native)のコマンドプロンプトから実行する必要があります。
    Visual Studioをインストールしていれば、エクスプローラの検索バーなどで、 Program FilesまたはProgram Files (x86)のいずれかのフォルダ内にあるファイルを検索し、
    vcvarsall.bat
    という名前を持つファイルが存在することを確認してください。 (例:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat)

    LuaRocksのインストール

    コマンドプロンプトを開き、VC起動バッチファイルのあるディレクトリに移動し、 vcvarsall.batに引数としてx86を与えて実行してください。
    PROMPT> C:
    PROMPT> cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
    PROMPT> vcvarsall.bat x86
    
    このバッチファイルを実行することで、Visual C++のコマンドラインツールが使える状態になります。
    その後、LuaRocksのインストーラを起動します。 インストール先をc:\usr\luarocks-win32とした場合のコマンド例を以下に示します。
    PROMPT> copy c:\usr\lua-5.3\liblua53.a c:\usr\lua-5.3\liblua53.lib
    PROMPT> c:
    PROMPT> cd c:\tmp\luarocks-X.X.X-win32
    PROMPT> install /P c:\usr\luarocks-win32 /SELFCONTAINED /LV 5.3 /LUA c:\usr\lua-5.3 /BIN c:\usr\lua-5.3 /LIB c:\usr\lua-5.3 /INC c:\usr\lua-5.3\include /FORCECONFIG /NOREG /NOADMIN
    
    最初に配布されているファイルはMinGWという開発環境のためのファイルですので、 Visual C++で使えるように、DLLのリンクに使うライブラリのファイル名の拡張子を.aから.libに変更します。 ここではcopyコマンドでコピーしています。 installはインストーラに含まれるインストール用のバッチファイルです。
    コマンドを実行すればインストールは終わりです。 c:\tmp\luarocks-X.X.X-win32の中身は削除してかまいません。
    インストール終了時に、環境変数の設定項目一覧がメッセージとして表示されます。 これらの項目は後で使います。
    インストール直後の状態では先のcopyで作成したライブラリをリンクするように設定されていませんので、 インストーラによって生成されたファイル
    c:\usr\luarocks-win32\config-5.3.lua
    をエディタ等で開き、LUALIBの行を以下のように書き換えてください。
        LUALIB = 'liblua53.lib'
    

    LuaRocksの起動バッチファイル作成

    最後に、インストール終了時に表示された環境変数の設定項目一覧と、 vcvarsall.batをあわせたLuaRocksの起動バッチファイルを作成しておきます。 ファイル名は何でも良いですが、ここではC:\usr\luarocks-win32\startlua.batとしておきます。
    先のインストール内容であれば、次のようになります。 バッチファイルはどこにおいてもかまいません。
    @echo off
    path c:\usr\lua-5.3;c:\usr\luarocks-win32;%APPDATA%\LuaRocks\bin;c:\usr\luarocks-win32\systree\bin;%PATH%
    set PATHEXT=%PATHEXT%;.LUA
    set LUA_PATH=c:\usr\luarocks-win32\lua\?.lua;c:\usr\luarocks-win32\lua\?\init.lua;%APPDATA%\LuaRocks\share\lua\5.3\?.lua;%APPDATA%\LuaRocks\share\lua\5.3\?\init.lua;c:\usr\luarocks-win32\systree\share\lua\5.3\?.lua;c:\usr\luarocks-win32\systree\share\lua\5.3\?\init.lua
    set LUA_CPATH=%APPDATA%\LuaRocks\lib\lua\5.3\?.dll;c:\usr\luarocks-win32\systree\lib\lua\5.3\?.dll
    C:
    cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
    vcvarsall.bat x86
    

    最後に、このバッチファイルを初期コマンドとするコマンドプロンプトのショートカットを作成します。
  • デスクトップ等で右クリックし、新規作成 - ショートカットを選ぶと、何に対するショートカットを作成するか聞いてきます。「cmd.exe」と入力してください。
  • 作成されたショートカットを右クリックし、プロパティを開いてください。
  • リンク先に、/kオプションと、先のバッチファイルへのフルパスを追加してください。バッチファイル名は""で括ります。「C:\Windows\System32\cmd.exe /k "C:\usr\luarocks-win32\startlua.bat"」
  • ショートカット名を「Lua」等に変更してください。

  • これで、作成されたショートカットをダブルクリックすれば、Lua用のコマンドプロンプトが起動できます。 Luaは lua53 のように、バージョンを指定した形で起動します。
    PROMPT> lua53
    
    Luarocksは、例えば次のように使います。 引数なしでluarocksを起動すると使い方が表示されます。
    PROMPT> luarocks install LuaSocket
    
    LuaRocksで公開されているパッケージには、Linux等でつくられたパッケージが多く存在します。 そのようなパッケージには、Windowsでインストールできなかったり、使えないものがありますので、ご注意ください。