简介
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 头文件或者使用其动态库时,现成的分发方案要么老要么难以选择。
对于想使用三方包、做一些复杂的编译和研究的同学推荐直接源码安装,省事且可控,还能自己选版本。