การติดตั้ง lua5.2 กับ lua5.3 บน Ubuntu 16.10


11

เมื่อฉันติดตั้งlua5.2แพคเกจบน Ubuntu 16.10:

sudo apt-get install lua5.2

มันติดตั้ง/usr/bin/luaเป็น symlink/etc/alternatives/lua-interpreterซึ่งจะเป็นการเชื่อมโยงไปยัง `/usr/bin/lua5.2

เมื่อฉันติดตั้งlua-5.3แพ็คเกจมันจะไม่สร้าง symlink ฉันได้รับเท่านั้น/usr/bin/lua5.3แต่ได้รับ

เอาต์พุตของdkg -L lua5.Xซึ่งแสดงรายการไฟล์ที่แพ็กเกจเป็นเจ้าของนั้นเหมือนกัน (นอกเหนือจากหมายเลขเวอร์ชันในบางไฟล์) สำหรับlua5.2และlua5.3แพ็กเกจ

สิ่งที่ฉันต้องการทำเพียงแค่ติดตั้ง Lua รุ่นล่าสุดและยิ่งใหญ่ที่สุดซึ่งปัจจุบันคือ 5.3 และสามารถใช้#!/usr/bin/luaในสคริปต์ได้

ฉันรู้ว่าฉันสามารถแก้ไขได้ด้วยการสร้าง symlink ด้วยตนเองหรือโดยการใช้ update-alternativesคำสั่ง (ซึ่งฉันยังไม่ได้คิด แต่นั่นไม่ใช่สิ่งที่ฉันถาม)

คำถามของฉันคือทำไมlua5.3แพคเกจไม่ตั้งค่า/usr/bin/luasymlink เมื่อฉันติดตั้งในขณะที่lua5.2แพคเกจไม่? นี่เป็นเจตนาหรืออาจเป็นนโยบายของ Ubuntu หรือเป็นเพียงการกำกับดูแลโดยผู้ที่สร้างแพ็คเกจหรือไม่

คำตอบ:


11

เนื่องจากผู้ดูแลแพคเกจไม่ได้ให้บริการalternativesโครงสร้างพื้นฐาน แต่น่าเสียดายที่หลีกเลี่ยงไม่ได้ แต่ที่จะตั้งขึ้นด้วยตนเองหรือ symlink เพียงธรรมดา/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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.