ฉันจะตั้งค่าตัวแปร PATH บน Mac ของฉันได้อย่างไรเพื่อให้พบเครื่องมือที่ติดตั้ง Hombrew


86

กำลังพยายามตั้งค่าHomebrewบน Mac เครื่องใหม่ (บน Macs ก่อนหน้านี้ฉันจะติดตั้งแพ็คเกจจากแหล่งที่มา)

แพ็คเกจแรกที่ฉันพยายามติดตั้งคือ Git:

$ brew install git

การติดตั้งก็โอเค แต่which gitก็ยังคงแสดงให้เห็น/usr/bin/gitว่ามันมาพร้อมกับLion (ฉันคิดว่า?) และไม่ใช่หนึ่งใน/usr/local/bin/gitนั้นที่เพิ่งติดตั้ง

$ echo $PATH
/Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails31/bin:/Users/meltemi/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/meltemi/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/michael/.rvm/bin:/usr/local/mysql/bin:/opt/subversion/bin:/Developer/Additions/checker/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

ที่คุณสามารถดู/usr/binค่าเริ่มต้นก่อน/usr/local/binใน$PATH

ดังนั้นฉันสับสน! ฉันคิดว่าจุดHomeBrew (และสิ่งที่ผู้สร้างดูเหมือนจะโม้) คือคุณไม่ต้องยุ่งกับ$PATHตัวแปร!?!

ดังนั้นฉันทำอะไรผิด


คุณเคยยุ่งกับเส้นทางของคุณก่อนหน้านี้และอาจทำให้พวกเขาผิดลำดับ ฉันเองก็ไม่แน่ใจเหมือนกันว่าทำไมนี่จึงเป็น "จุดคุยโม้" ในแบบโฮมเบียน ... มันไม่เหมือนกับแนวความคิดของเส้นทางหรือการดัดแปลงมันเป็นสิ่งที่ซับซ้อนซึ่งเกี่ยวข้องกับการเขียนและโปรย 10 Plists ต่าง ๆ ในระบบของคุณ ..
prodigitalson

1
เส้นทางส่วนที่ไม่เกี่ยวข้องกับ RVM ควรเป็นปัญหามาตรฐาน และไม่ฉันไม่ได้บ่นเกี่ยวกับการเปลี่ยนเส้นทาง ดูเหมือนว่าพวกเขาจะอ้างสิทธิ์ซ้ำIf you choose /usr/local, everything 'just works!'ที่ฉันต้องสงสัยในสิ่งที่ฉันขาดไป ... เพราะมันไม่ได้ "แค่ทำงาน"
Meltemi

คำตอบ:


78

ฉันพบว่าโพสต์ที่เกี่ยวข้องนี้มีประโยชน์มาก แทนที่จะเปลี่ยน$PATHตัวแปรเพียงแค่คุณแก้ไข/etc/pathsไฟล์ของคุณ

Homebrew ต้องการให้ฉันแก้ไข PATH ของฉัน ไม่มีเงื่อนงำอย่างไร

เร็วที่สุดเท่าที่ผมทำตามทิศทางและวาง/usr/local/binอยู่เหนือ/usr/binปัญหาของฉันได้รับการแก้ไข

  1. บน OS X ให้เปิด Terminal
  2. พิมพ์คำสั่ง: sudo vi /etc/paths
  3. ป้อนรหัสผ่านของคุณหากคุณถูกถาม
  4. คุณจะเห็นรายการเส้นทาง แก้ไขเพื่อให้/usr/local/binมีการป้อน/usr/binเส้นทางเหนือเส้นทาง
  5. * บันทึกและออก
  6. รีสตาร์ท Terminal

นี่คือสิ่งที่ฉันดูเหมือนหลังจากฉัน:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

* ในการบันทึกและพิมพ์ออกจากลำไส้ใหญ่ ( :) แล้วพิมพ์wq(การเขียนและเลิกในเวลาเดียวกัน) Enterตามมาด้วย

คุณยังสามารถเปิด/etc/pathsไฟล์ในโปรแกรมแก้ไขข้อความกราฟิกและแก้ไขได้

ให้เครดิตกับfengd ที่ Stack Overflow สำหรับคำตอบของเขาที่นั่น


สำหรับ vi dimwits (เช่นฉัน) ใช้ d เพื่อตัดเส้นและ p เพื่อวางเมื่ออยู่ในโหมดคำสั่ง
เจอราร์ด

10
ฉันจะใช้ความระมัดระวังกับสิ่งนี้ - คำตอบที่ดีกว่าคือเพียงแก้ไขเส้นทางใน. profile / .bash_profile และส่งออกไปที่นั่น โดยการเปลี่ยน / etc / path คุณ (อาจ) ส่งผลกระทบต่อกระบวนการระบบทั้งหมด การเปลี่ยน PATH ใน. profile / .bash_profile จะ จำกัด การตั้งค่าให้กับบัญชีของคุณและคำสั่งเหล่านั้นที่เรียกใช้ผ่านเชลล์คำสั่ง (ซึ่งในกรณีของฉันสำหรับการพัฒนาคือสิ่งที่ฉันต้องการ) หากคุณระมัดระวังจริงๆคุณสามารถทำสิ่งที่ @Aristotle Pagaltzis แนะนำในคำตอบด้านล่าง
rholmes

1
มีบางจุดที่เมื่อคุณหยุดพิจารณาว่ามีบางอย่างผิดปกติหรือไม่ที่การติดตั้งแบบง่ายจากตัวจัดการแพคเกจที่ออกแบบมาสำหรับ OSX นั้นล้มเหลวนอกกรอบหรือไม่? การเปลี่ยนเส้นทางของคุณอาจเป็น "ตัวแก้ไข" และ BTW สาเหตุที่ฉันสะดุดในการแก้ไขที่เสนอนี้คือการชงไม่สามารถอัปเดตเส้นทางของฉันได้ แต่ "เส้นทาง" นั้นอยู่ในลำดับที่ถูกต้องแล้ว อีกสิ้นตาย หยุดความบ้าคลั่งแก้ไขต้นเหตุ
Rick O'Shea

นอกจากนี้ยังมีและpath_helper /etc/paths.d
Simon Wright

29

คำตอบนี้ล้าสมัยแล้ว การPATHสั่งซื้อHomebrew ที่ต้องการนั้นเคยอธิบายไว้แล้วแต่ไม่เป็นความจริงอีกต่อไป อย่างไรก็ตามวิธีนี้ใช้ได้โดยทั่วไปดังนั้นเพื่อประโยชน์ฉันจึงทิ้งมันไว้


คุณไม่ควร

Homebrew จงใจทำให้/usr/local/bin หลังจากที่ /usr/binในเส้นทางเข้ากันได้สูงสุด การกลับลำดับของไดเรกทอรีเหล่านี้PATHด้วยการแก้ไข/etc/pathsหมายความว่าทุกโปรแกรมในระบบไม่ว่าพวกเขาจะเริ่มต้นอย่างไรจะได้รับคำสั่งเวอร์ชัน Homebrew แต่บางคนอาจคาดหวังว่ารุ่นของ Apple โดยเฉพาะหรือไม่สามารถใช้รุ่นที่ใหม่กว่าเป็นต้น

วิธีการรักษาหลักการนี้และยังคงได้รับรุ่นที่ติดตั้ง Homebrew git? เมื่อพูดไปปัญหาทั้งหมดสามารถแก้ไขได้ด้วยเลเยอร์ทางอ้อม (ยกเว้นเลเยอร์ทางอ้อมมากเกินไป) - หรือในกรณีนี้ตามที่ปรากฎเป็นสองชั้น

โดยเฉพาะอย่างยิ่งมันเป็นส่วนหนึ่งของนิสัยยูนิกซ์ของฉันจะมีไดเรกทอรีที่ฉันใส่ในช่วงเริ่มต้นของฉัน~/bin PATHนี่เป็นหนึ่งในบิตแรกของฉัน.bashrc:

[[ :$PATH: == *:$HOME/bin:* ]] || PATH=$HOME/bin:$PATH

สิ่งนี้จะตรวจสอบว่าPATHมี~/binและถ้าไม่มีจะเป็นการเติมไว้ล่วงหน้าหรือไม่ กับที่ในสถานที่แล้วการคัดเลือกทำเพียง Homebrew การจัดการgitจะมีความสำคัญมากกว่ารุ่นระบบ (แทนทุกไบนารี Homebrew การจัดการ) และเพียงสำหรับการประชุมเปลือกของคุณ (แทนทุกโปรแกรมเริ่มต้นจากที่ใดก็ได้รวมถึงโปรแกรม GUI) เป็น ง่ายเหมือนการเชื่อมโยง:

ln -s /usr/local/bin/git ~/bin/git

คุณสามารถ symlink /usr/local/Cellar/git/1.8.2.1/bin/gitโดยตรง แต่คุณจะต้องแก้ไข symlink ทุกครั้งที่คุณทำbrew upgrade git(โดยตรงหรือโดยอ้อม) ด้วยการเชื่อมโยงไปยัง symlink ตำแหน่งคงที่ของ Homebrew คุณไม่ต้องกังวลกับมัน

ดังนั้นคุณเพิ่มไดเรกทอรีลงในของคุณ$HOMEเพื่อให้คุณสามารถเพิ่มไดเรกทอรีของคุณPATHเพื่อให้คุณสามารถเชื่อมโยงไปยัง symlink และที่แก้ไขปัญหาของคุณและทำให้รอยยิ้มกับดร Seuss Yo dawg ฉันต้อนคุณชอบ symlinks ดังนั้นเราจึงใส่เส้นทางไว้ในของคุณPATHเพื่อให้คุณสามารถเชื่อมโยงในขณะที่คุณเชื่อมโยง


1
ยอดเยี่ยมคำตอบนี้เป็นสิ่งที่ฉันสงสัย!
N_A

SEEMS นี้เป็นคำตอบที่ถูกต้อง แต่ฉันไม่สามารถเข้าใจคำสั่งที่แน่นอนเพื่อให้ทำงานได้ ฉันได้รับ "ไฟล์มีอยู่" เมื่อสร้าง symlink
Ryan

รายละเอียดไม่เพียงพอที่จะช่วยคุณได้ขออภัย
อริสโตเติล Pagaltzis

1
@ Ryan ให้แน่ใจว่าคุณมีลำดับของ args ที่ถูกต้องในlnคำสั่ง เส้นทางแรกคือเป้าหมายและเส้นทางที่สองคือ symlink
Freedom_Ben

1
จริงที่บน el cap ฉันล้มเหลวด้วยคำตอบที่ล้าสมัยและประสบความสำเร็จกับ (ฉันใช้ ZSH) การแก้ไขคำสั่งของเส้นทางใน. zshrcexport PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Urs

17

คุณไม่ได้ทำอะไรผิด แต่ดูเหมือนชัดเจนว่าถ้าคุณมี/usr/local/binในเส้นทางของคุณก่อนที่/usr/binปัญหาเฉพาะนี้จะหายไป การแก้ไขที่ง่ายที่สุดคือการทำสิ่งนั้นและทำสิ่งที่ชอบ

export PATH=/usr/local/bin:$PATH

ใน~/.bash_profileทุกสิ่งที่คุณติดตั้ง Homebrew คุณต้องพบก่อน นั่นเป็นวิธีที่ฉันตั้งค่าไว้บน Mac ของฉันและมันได้ผลสำหรับฉันมานานแล้วอย่างไรก็ตาม YMMV

ดูเหมือนว่าพวกเขาเชื่อว่ามันจะทำงาน/usr/local/binได้หลังจาก /usr/binนั้นดังนั้นในขณะที่ฉันอาจทำให้ตัวเองยุ่งเหยิง$PATHแต่ฉันสามารถดูว่าเอกสารของพวกเขาขาดอะไร

โปรดทราบว่าคุณควรดำเนินการ/usr/local/binต่อ/usr/bin เนื่องจากบางโปรแกรมคาดว่าจะได้รับเวอร์ชันระบบของเช่นทับทิมและแตกถ้าพวกเขาได้รับรุ่น Homebrew ที่ใหม่กว่า

จากความแตกต่างระหว่างวิกิพีเดียและแพทย์ชง # โปรดทราบว่าเอกสารนี้จะกล่าวต่อไปว่า "คำถามที่พบบ่อย (ราคาข้างต้น) หมายถึงการตั้งค่า PATH สำหรับแอพ GUI และแพทย์ (คำแนะนำที่จะนำ/usr/local/binหน้า/usr/bin ใน PATH ของคุณ) หมายถึงการตั้งค่า PATH สำหรับแอป CLI"


1
สิ่งนี้จะไม่ทิ้งสองสิ่ง/usr/local/binในฉัน$PATHหรือไม่ ฉันเชื่ออย่างนั้น ฉันสงสัยว่าเราควรแก้ไขลำดับเส้นทางเริ่มต้นใน/etc/pathsหรือเนื้อหาของ/etc/paths.dหรือไม่ แต่สิ่งนี้จะส่งผลกระทบต่อผู้ใช้ทุกคน ... อาจไม่ใช่เรื่องเลวร้าย อย่างไรก็ตามเพียงแค่ต้องการที่จะเห็นว่าคนอื่นได้เข้าหานี้
Meltemi

@Meltemi จิตวิญญาณของคำตอบนี้ถูกต้อง: อัปเดตของคุณPATH(ในลักษณะของการเลือกของคุณ) ที่จะมีPrecede/usr/local/bin /usr/binผมเองอัปเดตของฉันPATHใน.bash_profileขณะที่แนะนำที่นี่

@ Nick- ข้อมูลที่น่าสนใจ ... และทำหน้าที่สร้างความสับสนให้กับเรื่อง (อย่างน้อยเรื่องของฉัน ) ... เอกสาร Homebrew ดูเหมือนจะบอกเป็นนัยว่าคำสั่ง Terminal ควรรับแอพใน/usr/local/binแม้ว่ามันจะเป็นเส้นทาง/usr/binในเส้นทางก็ตาม แต่แอป GUI ต้องการ coddling พิเศษหรือไม่ มันจะดูเหมือนแอพทั้งหมด , GUI หรือไม่, ต้องการให้เราปรับตัวแปร $ PATH ดังนั้นฉัน (หรือผู้สร้าง Homebrew) อะไรหายไป?
Meltemi

ฉันคิดว่า Homebrew สมมติว่าคุณต้องการใช้ไฟล์ปฏิบัติการที่ให้มากับ Apple ก่อน - git คือการเปลี่ยนแปลงจนกระทั่ง Lion ไม่ได้ถูกจัดทำโดย Apple ดังนั้น Homebrew จำเป็นต้องใช้ - ตอนนี้คุณสามารถใช้งาน Apple ได้แล้ว
user151019

ฉันเห็นด้วยกับ Mark ในเรื่องนี้ ด้วย MacPorts และ Fink สมมติฐานคือให้สภาพแวดล้อมที่เก่าแก่และสมบูรณ์แยกจากสิ่งที่ Apple จัดหาให้ออกจากกล่อง Homebrew ให้ความสำคัญกับสิ่งต่าง ๆ ของ Apple ที่ยอดเยี่ยมและไม่ควรหลีกเลี่ยงการใช้ (ทำไมต้องดาวน์โหลด gcc อีกรุ่นเมื่อ Apple มีแนวโน้มที่จะทำเช่นนั้น?
Nick Klauer

6

ฉันไม่เห็นด้วยกับคำตอบของโทมัส การแก้ไขไฟล์ / etc / path ของคุณจะเปลี่ยนพา ธ โหลดสำหรับโปรแกรมทั้งหมด สิ่งนี้อาจเป็นอันตรายหากแอปพลิเคชันระบบคาดว่าจะหาไบนารีรุ่นที่ระบุ แต่หารุ่นอื่นเพราะคุณได้แก้ไขไฟล์พา ธ ของคุณ ให้เปลี่ยนตัวแปรพา ธ ของคุณใน ~ / .bashrc (หรือ ~ / .bash_profile) แทน จากนั้นโหลดพา ธ ของคุณจะเปลี่ยนแปลงภายในเทอร์มินัลเท่านั้น:

# เพิ่มแอพ homebrew ไปยัง PATH การ
ส่งออก PATH = / path / to / homebrew / app / bin: $ PATH

จากนั้นโหลด bash ใหม่หรือsource ~/.bashrcและคุณก็พร้อมที่จะไป เนื่องจากเส้นทาง homebrew มาก่อนสิ่งอื่น bash จะโหลดเวอร์ชันที่คุณดาวน์โหลดด้วย homebrew


ใน OS X .bashrcจะไม่มีการโหลดตามค่าเริ่มต้น คุณมาด้วยตนเองหรือไม่
slhck

โอ้ใช่. ฉันมาจาก OS X จาก Ubuntu และถูกใช้ในการมีดังนั้นฉันมาจากฉัน.bashrc .bash_profileหากคุณไม่ต้องการที่จะสร้างแฟ้ม rc .bash_profileคุณสามารถเพิ่มคำสั่งเพื่อคุณ
นาธาน

5

ตามที่ฉันเข้าใจแล้วbrewอย่าวางสิ่งใดในสิ่ง/usr/local/binที่ชนกัน (มีชื่อเดียวกับ) Apple แจกจ่ายไฟล์ปฏิบัติการได้ ดังนั้นการมี/usr/local/binเส้นทางก่อน/binและ/usr/binไม่ควรเป็นปัญหาเพราะไม่ควรมีการชนกันของชื่อ * อย่างไรก็ตามดูปัญหาเกี่ยวกับlsและtarและการใช้ตัวรวบรวมแพ็กเกจอื่นเช่นfinkและport(MacPorts) วิธีด้านล่าง

Brew ทำหนึ่งในสองสิ่งที่ฉันรู้ว่าจะช่วยจัดการการชนชื่อ:

  1. Brewทิ้งถังที่ไม่ได้เชื่อมโยงไว้ในห้องใต้ดิน ในการติดตั้งสิ่งของชงออกจากเครื่องมือที่พวกเขาอยู่และสร้างการเชื่อมโยงสัญลักษณ์ไปยังเครื่องมือเหล่านั้น/usr/local/binมา สำหรับเครื่องมือที่brewไม่ต้องการให้มีการชนชื่อก็ไม่ได้สร้างลิงก์สัญลักษณ์
  2. สำหรับหลาย ๆ คนถ้าไม่ทั้งหมดของเครื่องมือมาตรฐานซึ่งยังอยู่ใน/binและ/usr/bin, brewนำหน้าการเชื่อมโยงใน/usr/local/binด้วย "g" ดังนั้นสำหรับตัวอย่างเช่นการดำเนินการกับรุ่นชงใช้ls gls เพียงทำls -lใน/usr/local/binและมองหาไฟล์ที่เชื่อมโยงซึ่งเป็นไฟล์ที่อยู่ในbrewนั้น หมายเหตุ: เครื่องมือติดตั้งที่ต้องเข้าถึงได้โดยใช้ชื่อจริงของพวกเขาจะพบในbrew/usr/local/Cellar/coreutils/8.21/libexec/gnubin

ฉันไม่ได้อยู่/usr/local/binในเส้นทางของฉันด้วยเหตุผลสองประการ - เหตุผลเหล่านั้นอยู่ที่ด้านล่างของคำตอบของฉัน

ในการประเมินการชนกันของชื่อในระบบของคุณให้ใช้brew doctorและค้นหาหัวข้อนี้ - นี่คือbrew doctorผลลัพธ์ที่น่าสนใจ:

Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    ctags
    emacs
    emacsclient
    etags
    ex
    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack
    rview
    rvim
    view
    vim
    vimdiff
    vimtutor
    xxd

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

เหตุผลที่ฉันไม่ใส่brewเครื่องมือก่อนอันที่จริงไม่ใช่ทั้งหมดเพราะการbrewติดตั้งlsและtarคำสั่งไม่จัดการกับระบบไฟล์ ACL อย่างถูกต้องในความเป็นจริงครั้งสุดท้ายที่ฉันตรวจสอบ (ซึ่งเป็นสัปดาห์ที่แล้ว) พวกเขาไม่ได้ ' t จัดการเลย นี่เป็นปัญหาใหญ่และเพื่อหลีกเลี่ยงปัญหานี้พร้อมกับmanปัญหาการกำหนดค่าหน้าเว็บที่เกี่ยวข้องซึ่งติดแท็กพร้อมกับการตั้งค่าที่$PATHถูกต้องฉันต้องแน่ใจว่าได้วางOSXเครื่องมือที่เกี่ยวข้องโดยเฉพาะอย่างยิ่งที่พบใน/binและ/usr/binก่อนอื่น

เหตุผลที่ฉันไม่ใส่แม้กระทั่งอีก/usr/local/binในเส้นทางของฉันเลยเป็นเพราะbrewไม่ได้เล่นได้ดีกับคนอื่นและfinkและport(MacPorts) มีวิธีการอื่น ๆ แพคเกจในปัจจุบันที่ฉันต้องได้รับการสนับสนุนในขณะนี้ ยกตัวอย่างเช่นฉันจะได้รับgnome-terminalมีแต่มันจะเป็นความพยายามที่ใหญ่ในการสร้างสูตรและทำเช่นเดียวกันกับfink brewดังนั้นฉันจึงให้/swและ/optในการค้นหาของฉัน$PATH(สำหรับfinkและportตามลำดับ) และสิ่งอ้างอิงที่ฉันต้องการจาก/usr/local/binรวมทั้งgnatทั้งสะกดออกหรือฉันจะใช้bash alias's หรือฉันแหล่งsetupไฟล์สำหรับสภาพแวดล้อมที่แตกต่างกันอย่างสิ้นเชิงเมื่อฉันเขียนAdaรหัส

มันขึ้นอยู่กับสิ่งที่คุณต้องการและต้องการในเวลานั้น

นี่คือตัวอย่างของปัญหา ACL ที่ฉันกล่าวถึงข้างต้น

ด้วยOSXเครื่องมือมาตรฐาน:

$ /bin/ls -le /var/root | head -7
total 24
drwx------+  3 root  wheel  102 May 28  2013 Desktop
 0: group:everyone deny delete
 1: user:_spotlight inherited allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit
drwx------+  6 root  wheel  204 Sep 19 14:22 Documents
 0: group:everyone deny delete
 1: user:_spotlight inherited allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit

และด้วยbrewเครื่องมือที่ติดตั้ง:

$ /usr/local/bin/gls -le /var/root
/usr/local/bin/gls: invalid option -- 'e'
Try '/usr/local/bin/gls --help' for more information.

และ

$ /usr/local/bin/gls --help | grep -i acl

คุณจะได้รับผลลัพธ์ที่คล้ายกันด้วยtarและฉันไม่ทราบว่ามีbrewเครื่องมืออื่น ๆ อีกมากมายที่บ้านแต่ใครที่สามารถจ่ายเงินเพื่อให้บางสิ่งบางอย่างพังทลายลงมา 6 เดือนเพราะACLปัญหา!


ขอบคุณสำหรับข้อมูลที่มีประโยชน์ อย่างไรก็ตามในบันทึกของฉันในตอนนี้ฉันมีไฟล์ปฏิบัติการที่มีชื่อเดียวกันทั้งใน / usr / bin และ / usr / local / bin (เช่น git ซึ่งเป็น symlinked ตามที่คุณทราบ) ดังนั้นพวกเขาจึงขัดแย้งกันโดยปริยาย ฉันยังต้องการแทนที่เครื่องมือระบบสำหรับงานเชลล์ของฉัน
rholmes

4

มีคำตอบที่ดีมากมายที่นี่ นี่คือของฉัน:

echo >> ~/.bashrc alias my="PATH=/usr/local/bin:$PATH"
. ~/.bashrc
my git --version # Brew's fancy git
git --version # Apple's old crusty git

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

ทำงานเหมือนกันถ้าคุณใช้ ZSH; เพียงแค่สลับออกสำหรับbashrc zshrcคุณสามารถสลับไปmyใช้_หรือแม้กระทั่ง@บันทึกการพิมพ์


2

แทนที่จะล้อเล่นกับ PATH เลย (ซึ่งในประวัติศาสตร์ของฉันกลับมาเผาฉันอีกหลายเดือนต่อมา) ฉันได้เพิ่มนามแฝงสำหรับ git ในไดเรกทอรีนามแฝงที่กำหนดเองของ zsh (~ / .zshrc / custom / git_alias.zsh)

alias git='/usr/local/bin/git'


0

ฉันชอบ จำกัด การเปลี่ยนแปลงตัวแปร environvent เช่น$PATHผู้ใช้ที่ต้องการการเปลี่ยนแปลงจริง ดังนั้นฉันเพียงเพิ่มต่อไปนี้เพื่อ~/.bashrc:

export PATH="$(brew --prefix)/bin:$PATH"

0

คุณสามารถออกคำสั่งต่อไปนี้ในเทอร์มินัลมันจะเพิ่มไดเรกทอรีบ้านชง + the / bin ในเส้นทางของไฟล์ init ใด ๆ SHELL "rc" ของคุณ (bash, zsh, csh)

echo "export PATH="'$PATH:$(brew --prefix)/bin' >> ~/.$(basename $SHELL)rc

สนุก !

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