文章目錄
# 寫在開始
如果你是第一次安裝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
# 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
本文爲作者原創文章,轉載請註明來源。