ทำไม Git ไม่พบหลังจากติดตั้ง OS X Lion?


87

ฉันเพิ่งอัพเกรดเป็น OS X Lion และตอนนี้ไม่สามารถเริ่มต้น Git ที่เคยทำงานได้ดี:

$ git add .

-bash: git: command not found

ฉันยังใหม่กับ Git และการเขียนโปรแกรมดังนั้นฉันแน่ใจว่ามันเป็นการแก้ปัญหาอย่างรวดเร็วความช่วยเหลือใด ๆ ที่ได้รับการชื่นชมอย่างมาก ขอบคุณเพื่อน!


1
คุณมี macports ติดตั้งอยู่หรือไม่

ฉันไม่ ... คุณแนะนำให้ติดตั้ง?

9
เป็นการส่วนตัวฉันจะติดตั้งโดยใช้ homebrew แทน macports - mxcl.github.com/homebrew
house9

2
brew > portsก็อาจจะคอมไพล์ไม่ได้อยู่ในของคุณ$PATHอีกต่อไป ลองsudo find / -name gitและคุณอาจพบไบนารีของคุณ

1
ทำไมคุณถึงแนะนำ Macports หรือ Homebrew สำหรับ git? แค่สงสัย. ฉันใช้code.google.com/p/git-osx-installer แล้ว
Dan Rosenstark

คำตอบ:


72

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

การปฏิบัติทั่วไปคือการทำ/usr/local/binหากไม่มีอยู่และเพิ่มลิงค์:

sudo -s
mkdir -p /usr/local/bin
ln -s /usr/local/git/bin/git /usr/local/bin/git
exit

4
นี่คือคำตอบที่เหมาะสม

/ usr / local / git มีอยู่ แต่ฉันได้รับ: "ln: / usr / local / bin / git: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว"

นี่คือสิ่งที่เราต้องการฉันเดา มันทำในสิ่งที่ควรทำ ขอบคุณ!

1
นี่คือสิ่งที่แก้ไขปัญหา ควรทำเครื่องหมายเป็นคำตอบที่ถูกต้อง
Doug Molineux

1
แม้ว่าคนส่วนใหญ่จะมีการติดตั้งคอมไพล์ใน / usr / local / git บางที OP ยินดีกับคำตอบทั่วไป ใครก็ตามที่ต้องการถามคำถามนี้อีกครั้งโดยระบุคำตอบที่เลือกไว้ที่นี่ไม่สามารถใช้งานได้จึงสามารถเลือกคำตอบนี้เมื่อได้รับ ไม่เป็นอันตรายต่อคำถามที่ถูกต้องสองข้อโดยมีสองคำตอบที่ถูกต้อง
bmike

58

Lion (และ Snow Leopard) ไม่ได้มาพร้อมgit- ดังนั้นวิธีที่คุณติดตั้งคอมไพล์ก็ไม่รอดจากการอัพเกรด คุณจะต้องค้นหาสำเนาของคอมไพล์หรือเพิ่งได้รับสำเนาใหม่ การใช้สปอตไลท์เพื่อค้นหาการสำรองข้อมูล Time Machine ของคุณอาจเป็นประโยชน์ในการค้นหาไฟล์และรู้ว่าเป็นปัญหาเกี่ยวกับเส้นทางหรือไม่หรือไบนารีหายไปหลังจากที่ Lion โอนย้ายข้อมูลของคุณแล้ว

repos ทั้งหมดของคุณเก็บไว้ในพื้นที่ผู้ใช้เป็นเรื่องปกติ ลองรับ git เวอร์ชันเดียวกันหรือใหม่กว่า

บรรทัดคำสั่งmdfind -name gitจะแสดงรายการไฟล์ทั้งหมดที่สปอตไลท์เห็นด้วย git ในชื่อ การติดตั้งส่วนใหญ่ควรจะอยู่รอดอัพเกรดสิงโตและคุณจะต้องทำความสะอาดสภาพแวดล้อมหรือการเชื่อมโยงของคุณเพื่อไบนารีจากที่ไหนสักแห่งในของคุณgit$PATH

Xcode 4 (4.0-4.2) ปล่อยคอมไพล์/Developer/usr/binพร้อมกับเครื่องมืออื่น ๆ ที่คุณต้องการเช่น make และ gcc อาจง่ายที่สุดในการรักษาคอมไพล์หลังจากรับ Xcode ฟรี (ปัจจุบัน) จาก App Store Xcode 4.3 ทำให้ giy และเครื่องมืออื่น ๆ Applications/Xcode.app/Contents/Developer/usr/binใน

เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับรุ่นที่แตกต่างกันคุณอาจต้องการตรวจสอบให้แน่ใจว่ามีรุ่นเก่า ๆ (และแน่นอนจาก $ PATH ของคุณ)


น่ากลัว! ฉันโพสต์คำถามนี้ในขณะที่ดาวน์โหลด Xcode ใหม่ เพิ่งตรวจสอบทันทีและใช้งานได้! ขอบคุณ @Johan Nordberg

3
หมายเหตุ XCode สำหรับสิงโตเพียงแค่ติดตั้งโปรแกรมติดตั้ง คุณจะต้องไปที่โฟลเดอร์แอพและเรียกใช้แอพที่ติดตั้งเพื่อให้คอมไพล์

2
ฉันมี Git /usr/bin/gitค่ะ ฉันติดตั้ง Xcode 4 ในการติดตั้ง (ฟอร์แมต) ใหม่ของ Lion และฉันจำไม่ได้ว่าเคยใช้โปรแกรมติดตั้ง Git
เนท

1
ฉันมี Lion (10.7.3) และเพิ่งติดตั้ง XCode ผ่านทาง App Store อยู่ในไดเรกทอรีแอปพลิเคชันไม่ใช่นักพัฒนา อันที่จริงฉันยังไม่มีไดเรกทอรี / นักพัฒนา
milesmeow

8
Xcode -> การตั้งค่า -> ดาวน์โหลด -> ติดตั้งเครื่องมือบรรทัดคำสั่ง ดูคำตอบของฉันด้านล่าง
elsurudo

21

หากคุณติดตั้ง XCode แล้วทางออกที่ดีที่สุดคือ Xcode -> Preferences -> Downloads -> ติดตั้งเครื่องมือบรรทัดคำสั่ง

สิ่งนี้ทำให้คอมไพล์ (เหนือสิ่งอื่นใด) ที่ / usr / bin / git

หากคุณไม่ได้ติดตั้ง Xcode ดังนั้นการติดตั้งเพียงเพราะคอมไพล์จะเกินความเป็นจริงอย่างแน่นอน


1
ขอบคุณสำหรับสิ่งนี้ - วิธีที่ง่ายที่สุดที่จะไปหากคุณติดตั้ง XCode แล้ว
เกล็นบาร์เน็ตต์

15

ฉันคิดว่าคุณจะพบว่า Git ยังคงติดตั้งในระบบของคุณ ดูเหมือนว่า PATH นั้นจะเลอะ ตรวจสอบเพื่อดูว่า / usr / local / git ยังคงมีอยู่ในระบบของคุณ

ฉันเพิ่งเพิ่มสิ่งต่อไปนี้ในไฟล์ ~ / .bashrc ของฉันและทุกอย่างกลับมาเป็นปกติ

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

เพื่อให้เฉพาะเจาะจงมากขึ้นไซต์นี้ - http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html - รายละเอียดความแตกต่างระหว่าง. bashrc และ. bash_profile หากคุณใช้เทอร์มินัลของ Mac กับ Git การเพิ่มข้อมูลจำเพาะ PATH ข้างต้นลงใน. bash_profile ของคุณจะทำงานได้ แน่นอนคุณจะต้องปิดหน้าต่างเทอร์มินัลและเปิดขึ้นใหม่เนื่องจากไฟล์. bash_profile ถูกโหลดในการเปิดหน้าต่างเทอร์มินัล

โดยสรุปการเพิ่มสิ่งนี้ลงใน. bash_profile ก็สามารถใช้ได้เช่นกัน


นั่นคือสิ่งที่ฉันทำเช่นกันและคอมไพล์ก็ทำงานอีกครั้ง

2
นี่คือทางออกที่ถูกต้อง มันเป็นเพียงเส้นทางที่ยุ่งเหยิง คำตอบอื่น ๆ ที่ผู้คนให้ไว้ในที่นี้คือวิธีแก้ไขปัญหาแทนที่จะเป็นวิธีแก้ปัญหา

ฉันพยายามทำสิ่งนี้ แต่ยังได้รับคำสั่งไม่พบข้อผิดพลาดเมื่อพยายามเพิ่ม git ฉันต้องรีสตาร์ทเครื่องคอมพิวเตอร์อย่างสมบูรณ์เพื่อให้ได้เส้นทางในการอัพเดทหรือไม่?
EmmyS

คุณรีสตาร์ทเครื่องของคุณหรือไม่ หรือsourceไฟล์. bash_profile ของคุณ เพียงพิมพ์source .bash_profileเทอร์มินัลของคุณในขณะที่อยู่ในบ้านคุณ
Aaron Chambers

ใช่ฉันรีสตาร์ทเครื่องของฉัน ฉันไม่แน่ใจว่าแหล่งที่มาหมายถึงอะไร แต่คำตอบโดย ing0 ด้านล่าง (ลบด้วยการติดตั้งคอมไพล์) ให้ฉัน อาจเป็นไปได้ว่าไฟล์ bashrc ของฉันผิดที่ ไม่ว่าในกรณีใดมันใช้งานได้แล้ว
EmmyS

5

ขั้นตอนที่ 1: ติดตั้งคอมไพล์อีกครั้ง (ฉันเพิ่งติดตั้ง Snow Leopard เวอร์ชั่นจากที่นี่ ) ถ้ามันไม่อยู่ใน:

/ usr / local

ขั้นตอนที่ 2: เปิด Terminal และทำสิ่งต่อไปนี้:

cd / etc

sudo nano bashrc

จากนั้นในนาโนที่ด้านบนของไฟล์เขียน (ตามที่แนะนำ aaron)

PATH = / usr / local / คอมไพล์ / bin: $ PATH

กด Ctrl + X เพื่อออกจากนาโนและกด Y เพื่อบันทึก จากนั้นออกจากเทอร์มินัลแล้วเปิดใหม่และคอมไพล์ควรจะทำงานให้คุณ


คุณไม่จำเป็นต้องติดตั้ง Git ใหม่ ฉันเชื่อว่าคุณจะพบว่ามันยังติดตั้งอยู่ ตรวจสอบ / usr / local / git

ฉันได้ไปอย่างสมบูรณ์ ดังนั้นฉันติดตั้งใหม่ อย่างที่ฉันพูดถ้ามันมีอยู่แล้วก็ไม่จำเป็นต้องทำ!
ingh.am

สิ่งนี้ใช้ได้สำหรับฉันเช่นกัน ทุกอย่างทำงานได้ดีก่อนการอัพเกรด Lion - นี่เป็นวิธีที่เร็วกว่าการดาวน์โหลด 4+ GB XCode

4

อาจเป็นไปได้ว่าคุณติดตั้งgitผ่าน MacPorts หรือ Fink

ฉันคิดว่าต้องใช้เวลาสักพักกว่าจะได้รับการปล่อยสำหรับ Lion ... หรือคุณควรลองและติดตั้งใหม่ ...

ดูเหมือนว่าคุณจำเป็นต้องติดตั้ง MacPorts จาก trunkเพื่อให้เข้ากันได้กับ Lion ...

ตำรวจยังได้มีคำแนะนำบางอย่างเกี่ยวกับการอัพเกรดกับ Lion


ฉันติดตั้ง macports และทำงานก่อนที่จะอัพเกรด Lion คำสั่งพอร์ตของฉันยังคงทำงานได้ดี (เช่น: พอร์ต selfupdate) แต่ตอนนี้พอร์ตที่ติดตั้งของฉัน (เช่น: git) ไม่ทำงาน ฉันเห็นว่าแพ็คเกจนี้ยังอยู่ใน / opt / local / var ฉันคิดว่ามันอาจเป็นปัญหา $ PATH แต่ ~ / .profile ยังคงมีการกำหนดค่า macports ก่อนหน้านี้ (ก่อนอัปเกรด) ข้อเสนอแนะใด ๆ

@Adam Tootle: ดูส่วน "ติดตั้ง MacPorts จากลำต้น" บิตในคำตอบของฉัน ...

ฉันไม่แน่ใจว่าฉันต้องการหรือไม่เพราะมันใช้งานได้) หากฉันทำเช่นนั้นฉันไม่ควรติดตั้งแพคเกจทั้งหมดของฉันอีกครั้ง

@Adam Tootle: ผมไม่คิดอย่างนั้น ... ประเด็นก็คือว่ามีสิงโตทุกกรอบของระบบและห้องสมุดที่มีการเปลี่ยนแปลง (ตามปกติกับรุ่นใหญ่) ...

ahh..gotcha เอาเป็นว่าช่วงบ่ายฮ่า ๆ ๆ ก็จะได้ผลผลิตเพิ่มขึ้น



1

สิ่งนี้เกิดขึ้นเพราะคอมไพล์หยุดการเป็นส่วนหนึ่งของ $ PATH (ด้วยเหตุผลบางประการในการโยกย้าย)

มีวิธีง่าย ๆ ในการแก้ไขปัญหานี้ใน OS X:

ใน OS X คุณสามารถเพิ่มตัวแปร$PATHโดยการเปลี่ยนไฟล์

/etc/paths

ดังนั้นคุณสามารถนำคอมไพล์กลับมาทำสิ่งต่อไปนี้:

sudo vim /etc/paths

เพิ่ม/usr/local/git/binที่ส่วนท้ายของไฟล์บันทึกและออก รีสตาร์ทเชลล์ Git ควรทำงาน


1
/ etc คุณแน่ใจหรือไม่? สิ่งนี้ไม่ควรจะเป็น / usr ใช่ไหม
nohillside


0

ปัญหาเดียวกันที่นี่ดาวน์โหลดและติดตั้งรุ่นเสือดาวหิมะจาก google code และปิดฉันไป จำเป็นต้องปิดและเปิดเทอร์มินัลอีกครั้ง ...

ทั้งหมดเป็นอย่างดีอีกครั้ง ..


0

เมื่อมีเส้นทางคอมไพล์แล้ว

เพียงเพิ่มไดเรกทอรีในตัวแปร PATH ของคุณ

echo 'export PATH=/usr/local/git/bin:$PATH' >> ~/.profile


0

ฉันใช้ App Store เพื่อติดตั้ง Xcode และมันให้เพียงแอพเดียวในหยดเดียว อย่างไรก็ตามมันมีแอพและตัวติดตั้งอื่น ๆ อยู่ด้วย ฉันแค่ต้องการคอมไพล์ดังนั้นเส้นทางจากที่เป็น export PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin

มันค่อนข้างแฮ็ค แต่ฉันไม่ได้ใช้ Xcode สำหรับสิ่งต่าง ๆ มากมาย เพิ่มใน bash config ตามที่ผู้โพสต์คนอื่น ๆ อธิบายไว้


แทนการล้อเล่นกับ $ PATH ก็จริงง่ายต่อการติดตั้งสาธารณูปโภคบรรทัดคำสั่งจากภายใน Xcode และใช้ / usr / bin / คอมไพล์หลังจากนั้น
nohillside


0

คุณไม่จำเป็นต้องแก้ไขพา ธ หรือติดตั้งเครื่องมือบรรทัดคำสั่ง Xcode เพียงใช้ยูทิลิตี้ "xcrun" จากเทอร์มินัล: http://www.cocoanetics.com/2012/07/you-dont-need-the-xcode-command-line-tools/


ยินดีต้อนรับสู่ถามที่แตกต่างกัน! มันไม่เป็นไรที่จะรวมลิงค์ แต่โปรดสรุปหรือตัดตอนมาในคำตอบ ความคิดคือการทำให้คำตอบยืนอยู่คนเดียว โปรดดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม
gentmatt

-1

ฉันแก้ไขมันโดยทำตามคำแนะนำในเว็บไซต์นี้:

http://blogger.forgottenskies.com/?p=740

มันเป็นเพียงปัญหาการผลิต พูดตามตรงฉันคาดว่าจะมีปัญหาเพิ่มขึ้นอีกมาก การอัพเกรดกำลังราบรื่นขึ้น ฉันจำได้เมื่อฉันอัพเกรดจาก Tiger เป็น Leopard ทุกอย่างเกี่ยวกับ "โอเพ่นซอร์ส" ได้ทำลายทุกอย่าง ..

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