在 Ubuntu 16.10 上安装 lua5.2 与 lua5.3

Kei*_*son 11 lua software-installation 16.10

当我lua5.2在 Ubuntu 16.10 上安装软件包时:

sudo apt-get install lua5.2
Run Code Online (Sandbox Code Playgroud)

/usr/bin/lua作为到 的符号链接安装/etc/alternatives/lua-interpreter,而后者又是到`/usr/bin/lua5.2 的符号链接。

当我安装lua-5.3软件包时,它不会创建符号链接;我只得到/usr/bin/lua5.3.

的输出dkg -L lua5.X,其中列出了软件包所拥有的文件,是相同的(除了一些文件的版本号)的lua5.2lua5.3包。

我想要做的只是安装最新最好的Lua版本,目前是5.3,并且能够#!/usr/bin/lua在脚本中使用。

我知道我可以通过手动创建符号链接或使用update-alternatives命令来解决这个问题(我还没有弄清楚,但这不是我要问的)。

我的问题是,为什么我安装时lua5.3没有设置/usr/bin/lua符号链接,而lua5.2包呢?这是故意的,也许是 Ubuntu 政策,还是只是创建软件包的人的疏忽?

fja*_*rlq 15

这在 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
Run Code Online (Sandbox Code Playgroud)


小智 11

因为包维护者没有提供alternatives基础设施。不幸的是没有办法绕过它,只能手动设置它或只是简单的符号链接/usr/bin/lua/usr/bin/lua5.3.

我已经提交了一个错误报告:https : //bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212