Lua 發行版簡單比較
簡介
Lua 官網的二進位制分發包頁面主要提到了LuaDist 和 LuaForWindows 兩種分發包。也提到了 LuaRocks,但是這個嚴格地說屬於 Lua 的包管理軟體。
一句話總結是,自己參照官方指南編譯 Lua 最為簡單好用。以下分別介紹官方分發包。
LuaDist
LuaDist 的特點是針對不同的 windows 版本、.NET 庫版本提供了很多編譯好的壓縮包。
優點是版本新,選擇多。
缺點是選擇過多,要手動選擇 Lua 可執行檔案、動態庫、靜態庫等多個壓縮包,針對不同的 .NET 庫版本有不同的壓縮包版本要對應選擇,讓人眼花繚亂。
例:選擇 5.3.4 相關的包
如下:
下載 lua 5.3.4
下載庫
- 靜態 https://sourceforge.net/projects/luabinaries/files/5.3.4/Windows Libraries/Static/lua-5.3.4_Win64_vc15_lib.zip/download
- 動態 https://sourceforge.net/projects/luabinaries/files/5.3.4/Windows Libraries/Dynamic/lua-5.3.4_Win64_dll15_lib.zip/download
下載包管理軟體 luarocks 3.0.3
卒。還不知道與自己的 .NET 庫版本是不是配合。
LuaForWindows
- 官方 repo: https://github.com/rjpcomputing/luaforwindows
- 示例下載連結:https://github.com/rjpcomputing/luaforwindows/releases/download/v5.1.5-52/LuaForWindows_v5.1.5-52.exe
預設安裝路徑:C:\Program Files (x86)\Lua\5.1
優點是包含了 Lua.exe 並打包了各種常用的包,也包含 LuaRocks.exe。
缺點是版本老,還停留在 5.1.5,安裝 busted
出現類似於 Error: Parse error processing dependency 'lua_cliargs = 3.0-1'
的錯誤(解決辦法參見LuaRocks安裝出錯 Error: Parse error processing dependency ‘lua_cliargs = 3.0-1’ 解決辦法)。
自行編譯
- 官網編譯指南:https://www.lua.org/faq.html#1.1
- 筆者的編譯指南:Windows 下編譯安裝 Lua 5.3.5
總結
Lua 很強很實用。一般會被整合到其他語言中,比如 Unity 中會利用 ToLua 來使用 Lua,不涉及到 Lua 編譯安裝之類的操作。但是想脫離其他語言直接學習、使用 Lua 時,至少目前(2018-10-8 11:8:11)Lua 的分發狀態是不夠理想的,簡單執行ok,比如如果只需要練習 lua 語法,下載一個 LuaDist 使用其中的 Lua.exe 就能滿足需求,但是使用複雜的包和進行編譯的門檻較高,比如要包含 Lua 標頭檔案或者使用其動態庫時,現成的分發方案要麼老要麼難以選擇。
對於想使用三方包、做一些複雜的編譯和研究的同學推薦直接原始碼安裝,省事且可控,還能自己選版本。