如何将静态数据文件包含到 LuaRocks 中?

这是我第一次创建 LuaRocks 并编写 .rockpec 文件。我有一个小的 Lua 脚本和一些静态文本文件,这个脚本需要使用它们。我应该如何 打包 我的 LuaRocks,以便我的脚本可以使用这些静态文件?

例如,这是我的 myscript.rockspeck 文件:

package = "myscript"
version = "1.0-1"
source = {
   url = "https://github.com/me/myscript/raw/master/myscript-1.0.tar.gz",
   tag = "v1.0"
}
description = {
   summary = "My script.",
   detailed = [[
      Some lua script.

   ]],
   homepage = "https://github.com/me/myscript",
   license = "MIT"
}
dependencies = {
   "lua >= 5.1, < 5.4"
}
build = {
   type = "builtin",
   modules = {
       myfun = "src/myscript.lua"
   },
   copy_directories = {"my_data"}
}

我能够做到:

luarocks pack myscript-1.0-1.rockspec
sudo luarocks install myscript-1.0-1.src.rock

但是,在导入 myfun 模块时,我可以看到包含所需文件的 my_data 目录对模块不可访问,因此会相应地出现错误。

当我执行 laurocks pack 时,我的工作目录包含以下结构的 myscript-1.0.tar.gz

myscript-1.0/
    src/myscript.lua
    tiny_data/
        data1.txt
        data2.txt

我应该如何正确地包含 my_data 静态文件?

点赞