如何安装Luarocks中列出的依赖项?

时间:2019-03-29 19:08:40

标签: lua luarocks

我有以下羽绒被:

package = "project-name"
version = "1.0-1"
source = {
   url = "..."
}
description = {
   summary = "etc"
   detailed = [[]],
   homepage = ""
}
dependencies = {
   "lua >= 5.1, < 5.2",
   "busted >= 2.0.rc12",
   "lua-requests >= 1.1",
   "json-lua >= 0.1",
   "lua-resty-dogstatsd >= 1.0.1"
}
build = {
    type = "builtin",
    modules = {
        ["project-name"] = "project/init.lua"
    }
}

如何安装依赖项?做luarocks install表示我缺少论点。不知道该怎么办。

4 个答案:

答案 0 :(得分:0)

好的,怎么了

luarocks install busted
luarocks install lua-requests
luarocks install json-lua
luarocks install lua-resty-dogstatsd

答案 1 :(得分:0)

据我了解,问题是尽管您使用该rockspec进行安装,但并未安装在依赖项中声明的Rock。 首先,您可以执行以下命令来检查上述依赖项是否存在吗?

命令:luarocks list | grep [dependency_name]

例如:luarocks list | grep json-lua

(羽毛球列表列出了所有要安装的岩石)

答案 2 :(得分:0)

luarocks build将安装rockspec中列出的所有依赖项。如果首先执行luarocks init project_name,您将获得一个本地luarocks命令,该命令会将模块本地安装到项目中。仅在Windows上测试过。我认为其他平台的行为类似

答案 3 :(得分:0)

要手动安装单个依赖项,可以运行

luarocks install <dep-name>

您可以附加一个可选版本,例如

luarocks install lua-resty-jwt 0.1.11-0

要安装Rockspec文件中列出的所有依赖项,

luarocks install --only-deps <rockspec_file>

摘自luarocks install的手册:

-only-deps仅安装岩石的依赖项。

或者,您可以简单地运行

luarocks make

这还将为您安装缺少的依赖项。但是,请注意,它可能不是您想要的,具体取决于您的需求:

此命令可用作调试Rockspec的工具。 要安装Rock,通常需要使用“安装”和 “构建”命令。有关详细信息,请参见帮助。

NB:如果要安装,请在luarocks install标志中使用--only-deps 仅是rockspec的依赖项(请参见luarocks help install)。