LuaとLuaRocksをWindowsにインストールする方法

この記事では、LuaとLuaRocksをWindowsにインストールする方法を紹介していく。

様々なサイト、記事でWindows環境におけるLua環境構築が紹介されているが、これから紹介する方法が 最もシンプルだと思う。

開発環境のバージョンについて

  • Windows 11
  • lua 5.4.2_Win64
  • luarocks 3.11.1

1. Luaをインストール

まずは「Lua Binaries Download」のページからLuaのバイナリをダウンロードする。

ここでは2024/12/27時点での最新のバージョンをダウンロードする。 以下の2つのダウンロードしよう。

  • lua-5.4.2_Win64_bin.zip
  • lua-5.4.2_Win64_dllw6_lib.zip

lua-5.4.2_Win64_bin.zip」のほうはLua本体、「lua-5.4.2_Win64_dllw6_lib.zip」は 共有ライブラリやC言語のヘッダーファイルが含まれている。

(共有ライブラリやヘッダーファイルは、Luaのライブラリをインストールする際に必要になる。)

ダウンロードしたlua-5.4.2_Win64_bin.zipを解凍して、C:\Program Files\lua-5.4.2_Win64_binなどの適当なディレクトリに入れてPATHを通す。

そして、「lua-5.4.2_Win64_dllw6_lib.zip」の中身を同じディレクトリのC:\Program Files\lua-5.4.2_Win64_binに入れる。

最終的なディレクトリ構造は以下のようになる。

lua-5.4.2_Win64_bin
    - wlua54.exe 
    - liblua54.a 
    - lua54.dll 
    - lua54.exe 
    - luac54.exe
    - include/
        - lualib.h 
        - lauxlib.h 
        - lua.h 
        - lua.hpp 
        - luaconf.h

正しくインストールされたかをチェックするために以下のコマンドを実行しよう。

lua54 --version

2. LuaRocksをインストールする

luarocks.github.io/luarocks/releases/」のページに入り、LuaRocksのバイナリをダウンロードする。

ここでは2024/12/27時点の最新版の「luarocks-3.11.1-windows-64.zip」をダウンロードして解凍する。

解凍したディレクトリを適当な場所(例:"C:\Program Files\luarocks-3.11.1-windows-64")に移動してPATHを通す。

ここまで来たら、以下のコマンドを実行して確かめる。

luarocks --version

3. MinGWをインストールする

MinGWとはWindowsで使えるCコンパイラ。 LuaのライブラリはC言語の拡張ライブラリが多いので、ビルドするためにCコンパイラを用意しておく必要がある。

MinGWのインストール方法は色々あるので、ここでは割愛する。

4. LuaRocksでライブラリをインストール、使ってみる

コンソールで適当なディレクトリを開いて、以下のコマンドを実行しよう。

luarocks init

すると、以下のファイルやディレクトリが生成される。

- /
    - .luarocks/
    - lua_modules/
    - .gitignore 
    - jsren-dev-1.rockspec 
    - lua.bat 
    - luarocks.bat

特に重要なのがlua.batluarocks.batの2つのバッチスクリプト。

luarocks.batを通してライブラリのインストールをする事でプロジェクト毎にライブラリの管理をするのが容易になる。

また、lua.batからLuaを実行することでLuaRocksがインストールしたライブラリを簡単に使えるようになる。

(通常だと、わざわざ環境変数などでLuaRocksのライブラリのインストール先のディレクトリを指定してあげないといけない。)

試しにmiddleclassというライブラリをインストールして使ってみよう。 (middleclassはオブジェクト指向を簡単に実現するためのライブラリ)

.\luarocks.bat install middleclass

そしてmain.luaのファイルを作成して以下のように書く。

local class = require('middleclass')

local Person = class('Person')

function Person:initialize(name)
    self.name = name
end

function Person:greet()
    print('Hello!! ' .. self.name)
end

local person1 = Person:new('Tanaka')
person1:greet() 

そして以下のコマンドを実行する。

.\lua.bat .\main.lua

# Hello!! Tanaka と表示される

これでWindowsでLuaができるぞ!

参考文献