參考資料
LuaRocks 官網: https://luarocks.org/
Lua 包管理 – Luarocks 使用指南: https://www.codenong.com/cs110780708/
Windows平臺lua包管理工具luarocks的安裝: https://www.bilibili.com/read/cv26687230/
Linux 環境搭建
安裝
wget https://luarocks.org/releases/luarocks-3.11.0.tar.gz
tar zxpf luarocks-3.11.0.tar.gz
cd luarocks-3.11.0
./configure && make && sudo make install
lua 標頭檔案配置
laolang@laolang-mint:lua542$ pwd
/home/laolang/program/lua/lua542
laolang@laolang-mint:lua542$ tree
.
├── include
│ └── lua
│ └── 5.4
│ ├── lua.h
... 從原始碼包複製即可
├── lua54
└── luac54
3 directories, 29 files
laolang@laolang-mint:lua542$
測試
安裝依賴
正常來說, 需要
lua
庫, 不過我並沒有下載,luarocks
命令檢測動態庫也是沒有找到的狀態, 不過確實安裝成功了, 也可以正常使用
luarocks install --tree=rocks luasocket
luarocks install --tree=rocks lualogging
程式碼
package.path = package.path .. ";./rocks/share/lua/5.4/?.lua"
require("logging")
if #arg > 0 then
if arg[1] ~= nil and arg[1] == "on" then
local dbg = require("emmy_core")
dbg.tcpListen("localhost", 9966)
dbg.waitIDE()
end
end
local Logging = require "logging"
local appender = function(self, level, message)
print(level, message)
return true
end
local logger = Logging.new(appender)
logger:setLevel(logger.INFO)
logger:info("Hello Lua")
效果
laolang@laolang-mint:lua-hello$ lua54 main.lua
INFO Hello Lua
laolang@laolang-mint:lua-hello$
Windows 環境搭建
安裝
把 lua
與 luarocks
的可執行檔案, 動態庫等全部放在同一個目錄, 然後根據 luarocks
的檢測結果配置標頭檔案與庫檔案目錄
lua windows 庫檔案下載地址
https://sourceforge.net/projects/luabinaries/files/5.4.2/Windows%20Libraries/Static/
檢測
注意: 需要使用 visual studio 的命令列
E:\code\lua\lua-hello>luarocks
Configuration:
Lua:
Version : 5.4
LUA : D:\program\lua\lua542\bin\lua54.exe (ok) 看這三行
LUA_INCDIR : D:\program\lua\lua542\bin/include (ok) 看這三行
LUA_LIBDIR : D:/program/lua/lua542/bin (ok) 看這三行
Configuration files:
System : C:\Program Files\luarocks\config-5.4.lua (not found)
User : C:\Users\laolang\AppData\Roaming\luarocks\config-5.4.lua (ok)
Rocks trees in use:
C:\Users\laolang\AppData\Roaming\luarocks ("user")
E:\code\lua\lua-hello>
測試
與 Linux 並無不同