当我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 的政策,还是只是软件包创建者的疏忽?
答案1
这在 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
答案2
因为软件包维护者没有提供alternatives
基础设施。不幸的是,除了手动设置或只是简单的符号链接/usr/bin/lua
到 之外没有其他办法/usr/bin/lua5.3
。
我已经提交了一个错误报告: https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212