Можно ли указать несколько версий Lua, на которые нужно установить luarock?
У меня есть оба Lua 5.1
а также Lua 5.2
установлен на Linux. Когда используешь luarocks
чтобы установить пакет, можно ли передать опцию luarocks, которая указывает, для какой версии Lua должен быть установлен рок?
2 ответа
Не опция командной строки, но у вас могут быть разные варианты программы командной строки LuaRocks (luarocks-5.1
а также luarocks-5.2
) если вы установили LuaRocks для обеих версий Lua.
Вы можете сделать это из исходного кода, используя (предполагая, что 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
бежать:
curl 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/ для более подробной информации.