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

我有以下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会提示我缺少参数。在这里不确定该怎么做。

点赞
用户11200923
用户11200923

OK,有什么问题吗?

luarocks install busted
luarocks install lua-requests
luarocks install json-lua
luarocks install lua-resty-dogstatsd
2019-03-30 00:40:28
用户8426598
用户8426598

我理解的问题是,尽管你使用了那个 rockspec 进行安装,但其中声明的依赖项并没有被安装。 首先,您可以执行以下命令检查上述依赖项是否存在:

命令: luarocks list | grep [dependency_name]

例如: luarocks list | grep json-lua

(luarocks list 列出所有已安装的 rocks)

2019-04-22 05:31:46
用户1204610
用户1204610

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

2019-12-26 01:33:46
用户9527593
用户9527593

如果要手动安装单个依赖项,可以运行以下命令:

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

它也会为您安装缺少的依赖项。但是,请注意,根据您的需求,这可能不是您想要的:

这个命令对于调试rockspecs来说很有用。安装rocks,通常您需要使用“install”和“build”命令。请参阅有关这些命令的帮助以了解详细信息。

注意:如果您仅想安装rockspec的依赖项,请使用带有--only-deps标志的luarocks install(请参阅luarocks help install)。

2020-06-19 04:03:24