我正在写一个小的Lua项目,并使用Luarocks安装我的第三方依赖.我的机器上的默认Lua版本是5.2,到目前为止,一切都正常工作. 但是,今天我偶然遇到一个令我困惑的问题.我想在Lua 5.1和Luajit上
但是,今天我偶然遇到一个令我困惑的问题.我想在Lua 5.1和Luajit上运行我的程序,看看它是否也可以在这些版本上工作,但是我很难让Luarocks下载适当版本的依赖项.作为最后的手段,我试图告诉Lua5.1使用Luarocks安装的5.2库(通过将LUA_PATH环境变量设置为与LUA_PATH_5_2相同的值),但不幸的是这还不够:我的项目依赖于LuaFileSystem基于C的模块,所以我需要安装5.1和5.2的单独版本.
我需要做什么来安装5.1和5.2版本的依赖项?我需要传递一些参数到theluarocks install命令吗?我的机器上是否需要安装多个Luarocks实例?有一件让我感到困扰的是,.luarocks文件夹里面的东西被归入5.2子文件夹(〜/ .luarocks / share / lua / 5.2 /),这表明也许可能会有一种方法来安装一个兄弟的5.1文件夹但同时只有一个bin文件夹,提示luarocks只能一次处理一个版本的Lua …
根据您对〜/ .luarocks / share / lua / 5.2 /的引用,您似乎正在运行Unix系统( Linux或Mac).您可以安装最新版本的LuaRocks两次,对于Lua 5.1和Lua 5.2,如下所示:./configure --lua-version=5.1 --versioned-rocks-dir make build sudo make install
然后再次为5.2:
./configure --lua-version=5.2 --versioned-rocks-dir make build sudo make install
这将让你/usr/local/bin/luarocks-5.1和/usr/local/bin/luarocks-5.2.如果您在/usr/local /中安装了Lua 5.1和5.2,则每个用户将使用自己的〜/ .luarocks / lib / luarocks / rocks-5.x / entry(和/usr/local / lib /luarocks/rocks-5.x为系统树),并将模块安装到/usr/share/lua/5.x/和〜/ .luarocks / share / lua / 5.x /(同样)的正确位置适用于lib)