在Lua项目中管理开发依赖关系的推荐方法是什么?

在Lua项目中管理开发依赖关系的推荐方法是什么?,lua,kong,Lua,Kong,我正在构建一个Lua库(实际上是一个内部的kong插件),这是我第一次使用Lua——更不用说用它编写生产代码了 我把它做成了一个卢克。据我所见,rockspec允许我将其他库指定为依赖项。但是似乎没有一个开发依赖性的概念。例如,我的测试、模拟等所需的库。。。我宁愿不让它们成为实际依赖项列表的一部分 我已经求助于将我的开发依赖项保留在依赖项列表中,但在git推送之前将它们注释掉。生产Lua项目通常如何解决这一问题?管理这些依赖项的推荐方法是什么?没有标准的Lua依赖项管理系统,但您可以尝试以下任一

我正在构建一个Lua库(实际上是一个内部的kong插件),这是我第一次使用Lua——更不用说用它编写生产代码了

我把它做成了一个卢克。据我所见,
rockspec
允许我将其他库指定为依赖项。但是似乎没有一个开发依赖性的概念。例如,我的测试、模拟等所需的库。。。我宁愿不让它们成为实际依赖项列表的一部分


我已经求助于将我的开发依赖项保留在依赖项列表中,但在git推送之前将它们注释掉。生产Lua项目通常如何解决这一问题?管理这些依赖项的推荐方法是什么?

没有标准的Lua依赖项管理系统,但您可以尝试以下任一方法:

LuaRocks-包含大量以岩石形式分布的Lua模块。安装Luarock后,安装很简单:Luarock安装所需的软件包。在Linux/Unix/Mac上,这将安装到/usr/local/{share,lib}/lua/5.1中,lua解释器在其中查找模块

LuaDist-设计用于创建包含Lua和模块的独立目录(dist)。LuaDist中的所有内容都是基于CMake的,这意味着可以使用CMake支持的任何编译器/IDE轻松编译它。LuaDist还有一个广泛的存储库,其中包含Lua模块和许多C依赖项/库,允许创建真正独立的Lua“发行版”。安装与LuaRocks-luadist安装所需软件包相同


就个人而言,我更喜欢LuaRocks。

LuaRocks 3有构建依赖和测试依赖。但是我没有和他们一起玩。@moteus谢谢。。很高兴知道这一点。我会试试的,我不知道LuaDist的事。我去看看。但我的主要问题是Luarock本身没有开发依赖性的概念。LuaDist支持类似的东西吗?Luarocks只支持依赖项,现在也支持iirc,您需要shellscript安装依赖项。通过这种方式,您可以对它们进行更多的控制。例如,当--production将通过时,请不要安装其中一些当前,我可以执行
luarocks install
,它将安装当前rock的所有依赖项。这对于生产来说是很好的-即,一旦我包装和分发岩石。但是在开发过程中,rock将依赖于其他东西,比如测试和模拟库,这些不应该是生产代码的一部分。我希望
rockspec
本身能够得到一些支持,类似于Ruby世界中的
Gemfile
,或者NodeJS世界中的
package.json
支持的东西。但是如果有一个显式脚本来安装依赖项是唯一的方法,那么我猜这是必须的。@CodeMangler那么,如果我的回答对你有帮助的话,你能接受吗?