วิธีที่ดีที่สุดในการอัพเกรด vim / gvim เป็น 7.3 ใน Ubuntu 10.04?


13

ฉันต้องใช้ Ubuntu 10.04 ในที่ทำงานและไม่สามารถอัพเกรดได้ ฉันใช้ Vim / gVim 7.2

ฉันต้องการอัพเกรดเป็น 7.3 (พร้อมรองรับส่วนขยาย Python และ Ruby) วิธีไหนดีที่สุด เพิ่มรายการในsources.listsและติดตั้งแพ็คเกจ 7.3 vim / gvim จากมันหรือสร้างจากแหล่งที่มา? ฉันจะได้รับข้อเสียอะไรจากแต่ละวิธี

คำตอบ:


14

สถานที่แรกที่สามารถเช็คอินคือถ้ามีย้ายกลับแต่มีไม่ได้ซึ่งไม่น่าแปลกใจเพราะไม่ฝักใฝ่ฝ่ายใดมีกลุ่ม 7.2 เกินไป

สิ่งต่อไปที่การพยายามคือถ้ามีคนใส่ขึ้นกับพื้นที่เก็บข้อมูลที่เป็นกลุ่ม 7.3 แพคเกจที่ใดที่หนึ่งโดยเฉพาะอย่างPPA มีหลายที่มีสัญญาซื้อขายไฟฟ้ากับกลุ่มรวมทั้งหลาย ด้วย 7.3 (ไม่ใช่รายการ)

หากคุณไม่พบแพ็คเกจไบนารีที่ใดก็ได้หรือไม่ชอบแพ็คเกจที่คุณพบขั้นตอนต่อไปที่ง่ายที่สุดคือการคว้าแพ็คเกจต้นทางจากnattyซึ่งมีกลุ่ม 7.3 ดาวน์โหลดแพคเกจที่มา ( .dsc, .debian.tar.gzและ.orig.tar.gz) จากนั้นก็วิ่ง

apt-get install build-essential fakeroot
apt-get build-dep vim
dpkg-source -x vim_7.3.035+hg~8fdc12103333-1ubuntu2.dsc
cd vim-7.3.035+hg~8fdc12103333
# Edit debian/changelog to add an entry with your name and “recompiled for lucid”
dpkg-buildpackage -rfakeroot -us -uc -b -nc

หากทุกอย่างเป็นไปด้วยดีคุณจะมีแพ็คเกจไบนารีสำหรับการแจกแจงของคุณ หากคุณพบเจอข้อผิดพลาดในการพึ่งพาหรือการรวบรวมที่ขาดหายไปสิ่งนี้จะต้องได้รับการแก้ไขเป็นกรณีไป

สิ่งต่อไปที่จะลองคือการรวบรวมแหล่ง upstream 7.3 กับแพ็คเกจจาก Ubuntu ของคุณ นี่เป็นแพคเกจที่ดีและสะอาด แต่ก็มีส่วนเกี่ยวข้องเพิ่มขึ้นเล็กน้อยดังนั้นหากคุณไม่มั่นใจในการทำเช่นนี้โดยไม่มีคำแนะนำฉันขอแนะนำให้คุณรวบรวมซอร์สอัพสตรีม

หากคุณทำการรวบรวมซอร์ส upstream โดยค่าเริ่มต้นคุณจะพบไฟล์ที่อยู่ด้านล่าง/usr/localและจะไม่สามารถถอนการติดตั้งได้ง่ายหรือแม้กระทั่งรู้ว่าคุณมีอะไรอยู่ เมื่อใดก็ตามที่คุณติดตั้งบางอย่างโดยไม่ใช้ตัวจัดการแพ็คเกจฉันแนะนำให้ติดตั้งลงในโครงสร้างไดเรกทอรีแยกต่างหากและสร้างลิงก์สัญลักษณ์ใน/usr/local( ~/usrหรืออะไรก็ตาม) Stowนั้นดีสำหรับสิ่งนั้น:

  • ติดตั้งใต้/usr/local/stow( ~/usr/stowหรือที่ใดก็ได้) ./configure --prefix=/usr/local/stow/vim-7.3มีหลายโปรแกรมที่คุณสามารถใช้สิ่งที่ต้องการ สิ่งนี้จะนำไบนารี่หลักไปที่/usr/local/stow/vim-7.3/binและอื่น ๆ
  • เรียกใช้stow vim-7.3จาก/usr/local/stowไดเรกทอรี นี้จะสร้างการเชื่อมโยงสัญลักษณ์ในไดเรกทอรี“ปกติ” /usr/local/bin/vim -> ../../stow/vim-7.3/bin/vimเช่น
  • หากคุณเคยต้องการที่จะถอนการติดตั้งโปรแกรมนี้ทำงานเพียงเพื่อเอาการเชื่อมโยงสัญลักษณ์และลบstow -D vim-7.3/usr/local/stow/vim-7.3

นอกจากนี้ยังมีxstowซึ่งเป็นโปรแกรมที่คล้ายกัน แต่มีประสิทธิภาพมากกว่า (หนึ่งในข้อดีคือสามารถจัดการกับความขัดแย้งได้)


ฉันไม่เคยทำอะไรเช่นการสร้างแพ็คเกจไบนารีเฉพาะสำหรับการแจกจ่ายของฉัน หากฉันรวบรวมซอร์สอัพสตรีมเป็น / usr / local ฉันสามารถแยกมันออกหลังจากหากมีสิ่งผิดปกติหรือไม่ ฉันไม่เคยทำอะไรแบบนี้มาก่อนเพราะฉันกลัวที่จะทำลายแพ็คเกจอื่น ๆ (ฉันเคยทำสิ่งนี้มาก่อนด้วย ubuntu 8.04 ที่นี่การติดตั้งหลามของฉันทั้งหมดแค่ f *** ed up)
บางคนยังคงใช้คุณ MS-DOS

2
@Somebody: ข้อดีของการติดตั้งแพ็คเกจ (สร้างโดยคุณหรือคนอื่น) คือคุณสามารถถอนการติดตั้งได้อย่างง่ายดาย หากคุณรวบรวมแพ็คเกจแนะนำให้ใช้ (x) stow
Gilles 'หยุดชั่วร้าย'

3
+1 ฉันไม่เคยเห็นมาก่อนได้อย่างไร มันดูมีประโยชน์น่าอัศจรรย์
Steven D

ขอบคุณสิ่งนี้ใช้งานได้อย่างมีเสน่ห์ใน Ubuntu 10.10 พร้อมกับ 2: 7.3.035 + hg ~ 8fdc12103333-1ubuntu7 จากลิงค์ natty ของคุณ! apt-get install python3-devฉันเพิ่งมีการ Btw สำหรับทุกคนที่สงสัยคุณสามารถติดตั้ง debs โดยใช้sudo dpkg -i *.debและอาจลบแพ็คเกจ vim7.2 ก่อน
Juve

ปัญหาเดียวที่ฉันเห็นคือคุณต้องตั้งค่า vim runtimepath เป็น/usr/local/stow/vim-7.3/share/vimไดเรกทอรี แต่เป็นสิ่งที่ต้องการ/usr/local/share/vimไดเรกทอรี ฉันคิดว่าคุณสามารถทำได้ด้วย--with-global-runtimepath=/usr/local/share/vimแต่ฉันอาจผิด
docwhat

3

สร้างจากแหล่งที่มา มันจะเร็วขึ้น พยายามค้นหาและเปิดใช้งานที่เก็บสำหรับการติดตั้งแบบครั้งเดียวซึ่งจะทำให้คุณปวดหัวมากยิ่งขึ้น


4
ไม่การได้รับพื้นที่เก็บข้อมูล (เมื่อมี) จะเร็วกว่า การสร้างแพคเกจนั้นไม่จำเป็นต้องเร็วกว่า แต่สำหรับโปรแกรมที่มีตัวเลือกการคอมไพล์มากมาย (เสียงเรียกเข้าเป็นหนึ่ง) แนะนำให้ใช้ขั้นตอนบิลด์ของการกระจายเนื่องจากมีแนวโน้มที่จะให้การกำหนดค่าที่คุณพอใจ การสร้างแพ็คเกจเป็นชัยชนะที่สำคัญหากคุณต้องการติดตั้งในเครื่องหลายเครื่อง
Gilles 'หยุดชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.