Установка lua5.2 против lua5.3 в Ubuntu 16.10


11

Когда я устанавливаю lua5.2пакет на Ubuntu 16.10:

sudo apt-get install lua5.2

он устанавливается /usr/bin/luaкак символическая ссылка на /etc/alternatives/lua-interpreter, которая, в свою очередь, является символической ссылкой на `/usr/bin/lua5.2.

Когда я устанавливаю lua-5.3пакет, он не создает символические ссылки; Я только получаю /usr/bin/lua5.3.

Выходной сигнал dkg -L lua5.X, в котором перечислены файлы , принадлежащие пакету, идентичен (кроме номера версии на некоторых файлах) для lua5.2и lua5.3пакетов.

Что я хочу сделать, это просто установить последнюю и лучшую версию Lua, которая в настоящее время является 5.3, и иметь возможность использовать #!/usr/bin/luaв сценариях.

Я знаю, что могу обойти это, создавая символические ссылки вручную или используя update-alternativesкоманду (которую я еще не понял, но это не то, о чем я спрашиваю).

Мой вопрос: почему lua5.3пакет не устанавливает /usr/bin/luaсимволическую ссылку при его установке, в то время как lua5.2пакет делает? Это преднамеренно, возможно, политика Ubuntu, или это просто надзор со стороны людей, которые создали пакет?

Ответы:


11

Поскольку сопровождающий пакета не предоставил alternativesинфраструктуру. К сожалению, нет способа обойти это, кроме как настроить его вручную или просто символическую ссылку /usr/bin/luaна /usr/bin/lua5.3.

Я отправил отчет об ошибке: https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212


14

Это все еще проблема в 18.04 Bionic. Временное решение:

sudo update-alternatives --install /usr/bin/lua lua-interpreter \
/usr/bin/lua5.3 130 --slave /usr/share/man/man1/lua.1.gz \
lua-manual /usr/share/man/man1/lua5.3.1.gz

sudo update-alternatives --install /usr/bin/luac lua-compiler \
/usr/bin/luac5.3 130 --slave /usr/share/man/man1/luac.1.gz \
lua-compiler-manual /usr/share/man/man1/luac5.3.1.gz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.