如何在Linux系统上安装多个版本的Lua(并使它们在Luarocks上正常工作)?

How can I install multiple versions of Lua on a Linux system (and have them work well with Luarocks)?

我想在我的Linux计算机上安装Lua 5.2和5.1。 这仅仅是使用通常的make linux install安装每个版本的问题吗? 我特别担心头文件和库文件,因为它们似乎位于没有使用版本号命名的目录中,例如/ usr / local / include。

除此之外,是否可以设置Luarocks,使其可以同时安装5.1和5.2库? 我知道Luarocks在5.2或5.1目录中对名称空间进行命名,然后设置LUA_PATH_5_X和LUA_CPATH_5_X变量应可用于配置Lua,但是我不知道Luarocks如何决定针对哪个版本的Lua来编译C库。


您可以使用luaver在不同版本的lua上进行安装,管理和切换。 这是一个非常易于使用的程序。

要安装luaver,请运行:

curl https://raw.githubusercontent.com/dhavalkapil/luaver/master/install.sh -o install.sh && . ./install.sh

然后,您可以如下安装和使用lua的多个版本:

luaver install 5.3.1 # Installs lua version 5.3.1

luaver install 5.3.0 # Installs lua version 5.3.0

luaver use 5.3.1 # Switches to lua version 5.3.1

有关更多详细信息,请参见https://dhavalkapil.com/luaver/。


如果要使用make linux install但创建名称空间,请编辑Makefile并相应地更改INSTALL_TOP和其他变量。