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.bat
とluarocks.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ができるぞ!