如果你是第一次安装Lua环境,建议先看[#详细说明]部分,然后再利用[#关键步骤]中给出的命令行完成安装。
首先,安装Lua,这一步是必须的,利用Homebrew命令行搞定。然后是IDE,IDE我习惯使用JetBrains的IDEA,所以去官网直接下载社区版安装。安装完成后,要为IDE添加支持Lua开发的插件,我使用的是EmmyLua,官方文档中有安装教程(也可以直接在IDEA的Plugins菜单里搜索EmmyLua并Install)。好了,安装工作进行到这里,就可以使用IDEA写出Lua版的"Hello World"了。
如果要打断点Debug,EmmyLua也是支持的,官方文档中提供了教程。因为mac上只支持远程调试,所以需要安装luasocket模块(远程调试通信基于socket,内核基于mobdebug.lua ,依赖于luasocket模块,所以被调试的程序需要支持luasocket),同样是用Homebrew命令行搞定。最后从github下载MobDebug项目,把项目中的mobdebug.lua,拷贝到项目的src目录下,调试环境就搭建完成了。
注意在Lua代码入口添加代码:
require("mobdebug").start()
这样才能启动调试器,调试的具体教程请仔细阅读插件官方文档。
安装Lua
$ brew install lua
安装luarocks
$ brew install luarocks
安装luasocket
$ luarocks install luasocket
/usr/local/bin/lua: main.lua:6: module 'mobdebug' not found:
no field package.preload['mobdebug']
no file '/usr/local/share/lua/5.3/mobdebug.lua'
no file '/usr/local/share/lua/5.3/mobdebug/init.lua'
no file '/usr/local/lib/lua/5.3/mobdebug.lua'
no file '/usr/local/lib/lua/5.3/mobdebug/init.lua'
no file './mobdebug.lua'
no file './mobdebug/init.lua'
no file '/usr/local/lib/lua/5.3/mobdebug.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './mobdebug.so'
原因:缺少mobdebug.lua文件。
解决方法:下载MobDebug项目,把里面的mobdebug.lua文件拷贝到当前项目的src目录下。
/usr/local/bin/lua: ./mobdebug.lua:102: module 'socket' not found:
no field package.preload['socket']
no file '/usr/local/share/lua/5.3/socket.lua'
no file '/usr/local/share/lua/5.3/socket/init.lua'
no file '/usr/local/lib/lua/5.3/socket.lua'
no file '/usr/local/lib/lua/5.3/socket/init.lua'
no file './socket.lua'
no file './socket/init.lua'
no file '/usr/local/lib/lua/5.3/socket.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './socket.so'
原因:EmmyLua在mac上调试通信基于socket,需要安装socket模块。
解决方法:先安装luarocks工具
$ brew install luarocks
再利用luarocks安装luasocket
$ luarocks install luasocket
本文为作者原创文章,转载请注明来源。