我正在编写一个小型 Lua 项目并使用 Luarocks 安装我的第 3 方依赖项。我机器上的默认 Lua 版本是 5.2,到目前为止一切正常。
然而,今天我偶然发现了一个让我感到困惑的问题。我想在 Lua 5.1 和 Luajit 上运行我的程序,看看它是否也适用于这些版本,但我很难让 Luarocks 下载适当版本的依赖项。作为最后的手段,我试图告诉 Lua5.1 使用 Luarocks 安装的 5.2 库(通过将 LUA_PATH
环境变量设置为与 LUA_PATH_5_2
相同的值)但不幸的是,这还不够:我的项目取决于在基于 C 的模块 LuaFileSystem 上,所以我需要为 5.1 和 5.2 安装单独的版本。
我需要做什么来安装我的依赖项的 5.1 和 5.2 版本?我是否需要将一些参数传递给 luarocks install
命令?我需要在我的机器上安装多个 Luarocks 实例吗?让我感到困惑的一件事是.luarocks
的内部。文件夹中的东西被归类在 5.2 子文件夹下(~/.luarocks/share/lua/5.2/),这表明也许有一种方法可以将东西安装在同级 5.1
中文件夹,但同时只有一个 bin
文件夹,表明 luarocks 一次只能处理一个版本的 Lua...
最佳答案
您必须在最新版本中同时提及 lua 版本和 lua 目录:
luarocks --lua-dir=$(brew --prefix)/opt/lua@5.1 --lua-version=5.1 install lua-cassandra
关于lua - 如何使用 Luarocks 为 Lua5.2 和 5.1 安装库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20321560/