当前位置: 首页 > 工具软件 > z.lua > 使用案例 >

IDEA+EmmyLua Lua开发环境搭建

容俊豪
2023-12-01

# 写在开始

如果你是第一次安装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

安装IntelliJ IDEA

点击下载安装包

安装EmmyLua插件

点击查看官方文档

下载MobDebug

打开GitHub


# FAQ

1.报错: module ‘mobdebug’ not found
/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目录下。


2.报错:module ‘socket’ not found
/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

本文为作者原创文章,转载请注明来源。

 类似资料: