web-dev-qa-db-ja.com

Ubuntu 16.10でのlua5.2とlua5.3のインストール

Ubuntu 16.10にlua5.2パッケージをインストールすると:

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パッケージで同じです(一部のファイルのバージョン番号を除く)。

私がやりたいのは、現在5.3であるLuaの最新かつ最高のバージョンをインストールし、スクリプトで#!/usr/bin/luaを使用できるようにすることです。

手動でシンボリックリンクを作成するか、update-alternativesコマンドを使用してこの問題を回避できることを知っています(まだわかりませんが、それは私が尋ねていることではありません)。

私の質問は、なぜlua5.3パッケージnotをインストールするときに/usr/bin/luaシンボリックリンクを設定し、lua5.2パッケージはそうするのですか?これは意図的なもので、おそらくUbuntuのポリシーですか、それともパッケージを作成した人々による単なる監視ですか?

10
Keith Thompson

パッケージメンテナがalternativesインフラストラクチャを提供しなかったためです。残念ながら、それを回避する方法はありませんが、手動で設定するか、単なるシンボリックリンク/usr/bin/luaから/usr/bin/lua5.3に設定するだけです。

バグレポートを提出しました: https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212

10
Bojan Markovic

これは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
10
fjarlq