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")
)正常工作。
在
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")
)正常工作。