git bash-completion บน mac osx ไม่ทำงานตามคำแนะนำในการติดตั้งมาตรฐาน


1

ฉันอ่านคำแนะนำมากมายสำหรับการติดตั้ง bash-completion สำหรับ git และตัดสินในโซลูชัน macport ซึ่งตัวอย่างเช่นที่กล่าวถึงที่นี่: วิธีรับ git-completion.bash ให้ทำงานบน Mac OS X ได้อย่างไร

อย่างไรก็ตามสิ่งนี้ใช้ไม่ได้และฉันต้องโทรหาsource /opt/local/etc/bash_completion.d/gitหรือใส่ไว้ใน. bashrc ของฉันเพื่อเปิดใช้งานการเติม bit git ให้เสร็จ ฉันพลาดอะไรไปรึเปล่า? ดูเหมือนว่าการจัดหาแพคเกจความสมบูรณ์ที่เฉพาะเจาะจงควรเป็นเรื่องอัตโนมัติมากขึ้นและไม่มีใครในเว็บที่ฉันพบว่ามีการระบุไว้ในคำแนะนำของพวกเขาในการรับการทุบตี git เพื่อทำงานบน mac os

คำตอบ:


6

MacPorts' bash-completionสคริปต์ควรจะอยู่ที่และดูแลจัดหาทุกอย่างภายใน/opt/local/etc/bash-completion /opt/local/etc/bash-completion.d/*อย่างไรก็ตามจะไม่ได้รับการติดตั้งเป็นค่าเริ่มต้น คุณต้อง ...

sudo port install bash-completion

... และจากนั้นคุณยังต้องsource /opt/local/etc/bash-completionใช้สคริปต์การเริ่มต้นระบบ bash อย่างใดอย่างหนึ่ง

โปรดทราบว่าเวอร์ชันล่าสุดของสคริปต์นั้นต้องการbash> = 4 ซึ่งช้ากว่าที่รวมอยู่ใน Mac OS X Lion 10.7.x (ซึ่งรวมbash3.2.48 (1)) อัปเดต: OS X Mountain Lion v10.8.0 ยังคงปรากฏมาพร้อมกับbash3.2.48 (1) ดังนั้นขั้นตอนนี้จึงยังจำเป็นสำหรับ Mountain Lion เพื่อให้แน่ใจว่าคุณได้ติดตั้งในภายหลังbashกับ MacPorts และให้แน่ใจว่าคุณได้กำหนดค่า Terminal.app (หรือสิ่งที่ขั้วคุณกำลังใช้) เพื่อเรียกใช้แทนการเริ่มต้นของ/opt/local/bin/bash OS X/bin/bash

ดูเพิ่มเติม (แนะนำให้อ่าน! เคล็ดลับดี ๆ !): https://trac.macports.org/wiki/howto/bash-completion


การเปลี่ยนเทอร์มินัลเพื่อเรียกใช้ / opt / local / bin / bash แก้ไขได้ คุณช่วยบอกฉันหน่อยได้ไหมว่าทำไมขั้นตอนนี้ถึงจำเป็น?
ประหลาดใจที่

@jonderry ขั้นตอนนั้นเป็นสิ่งที่จำเป็นเพราะพวกที่ดูแลสคริปต์เสร็จสิ้นการทุบตีได้เลือกใช้คุณลักษณะที่มีเฉพาะใน bash 4.x เท่านั้นดังนั้นจึงต้องใช้ bash 4.x แต่ OS X Lion มีเพียง bash 3.2.x ที่เก่ากว่าเท่านั้น . หากคุณดู/opt/local/etc/bash-completionมันจะตรวจสอบเวอร์ชันทุบตีของคุณอย่างชัดเจนก่อนดำเนินการต่อ
Spiff

นั่นยังคงเป็นเส้นทางหรือไม่? /opt/local/etc/profile.d/bash_completion.sh?
Clayton Stanley

@claytontstanley ใช่เส้นทางที่ฉันระบุไว้นั้นเป็น symlink ที่สะดวกกว่าไปยังเส้นทางที่คุณระบุไว้
Spiff

เคล็ดลับสำหรับการทุบตี Terminal.app งานได้ดีขอบคุณ ...
plang
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.