Ubuntu 16.10 पर lua5.2 बनाम lua5.3 स्थापित करना


11

जब मैं lua5.2Ubuntu 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संकुल।

मैं जो करना चाहता हूं, वह केवल लुआ के नवीनतम और सबसे बड़े संस्करण को स्थापित करना है, जो वर्तमान में 5.3 है, और #!/usr/bin/luaस्क्रिप्ट में उपयोग करने में सक्षम हो ।

मुझे पता है कि मैं मैन्युअल रूप से या update-alternativesकमांड का उपयोग करके (जिसके बारे में मुझे अभी तक पता नहीं चला है, लेकिन यह वही नहीं है जो मैं पूछ रहा हूं) का उपयोग करके, इसके चारों ओर काम कर सकता हूं।

मेरा प्रश्न है, क्यों करता है lua5.3पैकेज नहीं की स्थापना की /usr/bin/luaसिमलिंक जब मैं इसे स्थापित है, जबकि lua5.2पैकेज करता है? क्या यह जानबूझकर, शायद एक उबंटू नीति है, या यह सिर्फ पैकेज बनाने वाले लोगों द्वारा एक निरीक्षण है?

जवाबों:


11

क्योंकि पैकेज अनुरक्षक ने alternativesबुनियादी ढांचा प्रदान नहीं किया । दुर्भाग्य से इसके आस-पास कोई रास्ता नहीं है, लेकिन इसे मैन्युअल रूप से सेट करने के लिए या सिर्फ सादे सिंपलिंक के /usr/bin/luaलिए /usr/bin/lua5.3

मैंने एक बग रिपोर्ट प्रस्तुत की है: https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212


14

यह अभी भी 18.04 बायोनिक में एक मुद्दा है। युक्ति:

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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.