Luarock:制作时将 .lua 文件复制到目录

Luarock: Copying .lua files to a directory when make'ing

之后,我刚刚为一块只有 .lua 文件的岩石创建了一个 rockspec。我不需要构建任何东西,所以我将构建选项设置为

build = {
   type = "none",
   install = {
       lua = {
           "a.lua",
           "b.lua",
           ...
       }
   }
}

当我 运行 luarocks make 它有效。但是,我注意到所有文件都转储到我的 /home/<username>/torch/install/share/lua/5.1/ 目录中。我希望它们位于 ../share/lua/5.1/<package_name> 目录中。我试过做类似

的事情
       lua = {
           ["<package_name>"] = "a.lua",
           ...

       lua = {
           ["<package_name>.<package_name>"] = "a.lua",
           ...

但这两种方法都不起作用。

有没有办法将这些文件放在 rockspec 的目录中?

使用 rockspecs 的 builtin 构建模式很容易:

-- ...
build = {
   type = "builtin",
   modules = {
       ["mypackage.a"] = "a.lua",
       ["mypackage.b"] = "b.lua"
   }
}

这应该将 a.lua 安装为 .../share/lua/5.1/mypackage/a.lua,将 b.lua 安装为 .../share/lua/5.1/mypackage/b.lua,以便 require("mypackage.a")(或 require("mypackage.b"))正常工作。