我两者都有Lua 5.1
并Lua 5.2
安装在Linux上。使用luarocks
安装软件包时,是否可以将选项传递给 luarocks,以指定应该为哪个版本的 Lua 安装 rock?
2 回答
不是命令行选项,但如果你为两个 Lua 版本都安装了 LuaRocks ,你可能有不同的 LuaRocks 命令行程序变体可用(luarocks-5.1
和luarocks-5.2
) 。
您可以使用(假设是类似 Debian/Ubuntu 的lua5.1
可执行文件)从源代码执行此操作:
./configure --lua-version=5.1 --lua-suffix=5.1 --versioned-rocks-dir
# make sure that you got the correct Lua executable and include directory
sudo make bootstrap
和 Lua 5.2 一样。
如果configure
的自动检测未找到正确的可执行文件/目录,以下标志可能会有所帮助:
--with-lua-bin=DIR
(安装 Lua 可执行文件的目录)--with-lua-include=DIR
(Lua 包含文件所在的目录)--with-lua-lib=DIR
(在 Linux 上你可能不需要这个)
完成后,luarocks-5.1 install some-package
为 Lua 5.1 安装给定的包,并luarocks-5.2 install some-package
为 Lua 5.2 安装相同的包。
如果 LuaRocks 是通过包管理器安装的,则可能支持也可能不支持多个 Lua 版本(例如,Debian/Ubuntu 包仅配置为 Lua 5.1)。
可以使用luaver来安装、管理和切换不同版本的 lua、luarocks。
要安装luaver
运行:
卷曲https://raw.githubusercontent.com/dhavalkapil/luaver/master/install.sh -o install.sh && 。./install.sh
然后就可以安装和使用多个版本的lua了,如下:
luaver install 5.3.1 # 安装lua 5.3.1版本
luaver install 5.3.0 # 安装 lua 版本 5.3.0
luaver use 5.3.1 # 切换到 lua 版本 5.3.1
有关详细信息,请参阅https://dhavalkapil.com/luaver/ 。