วิธีแก้ไขการชงหลังจากอัพเกรด OSX เป็น Yosemite


181

ฉันประสบปัญหากับ Homebrew ฉันอัพเกรดเป็นโยเซมิตี หลังจากการอัพเกรด homebrew ดูเหมือนจะใช้งานไม่ได้

ฉันจะเรียกใช้คำสั่งชงใด ๆ และได้รับข้อผิดพลาดนี้

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0

จะแก้ไขได้อย่างไร?


ฉันเพิ่งอัพเกรดจาก Mac OS X 10.8 เป็น 10.10 (Yosemite) และ homebrew ทำงานได้ดีหลังจากการอัพเกรด ปัญหานี้อาจได้รับการแก้ไขหรือมีสิ่งที่แตกต่างเกี่ยวกับการอัปเกรดระบบปฏิบัติการของฉันเมื่อเทียบกับคนอื่น ๆ ที่โพสต์ที่นี่
Yitz

คำตอบ:


239

ฉันตัดสินใจที่จะมีลักษณะนี้ขึ้นมาและพบว่ามีปัญหา ปัญหาถูกปิด แต่ไม่สามารถรันได้เพียงbrew updateเพราะคุณยังคงได้รับข้อผิดพลาดเดียวกัน

ดังนั้นนี่คือสิ่งที่คุณต้องทำ:

cd /usr/local/Library
git pull origin master

ในกรณีที่คุณมีการเปลี่ยนแปลงในไดเรกทอรี (/ usr / local / Library) การดึง git จะทำให้เกิดข้อผิดพลาด ในกรณีนี้คุณจะต้องดึงสาขาหลักและตั้งค่าให้บังคับเป็นหลัก:

git fetch --all
git reset --hard origin/master

สิ่งนี้จะอัปเกรดโฮมบรูว์ของคุณและคุณสามารถใช้ชงอีกครั้ง

หากคุณติดตั้ง Homebrew เป็นผู้ใช้ที่ไม่ใช่ราก, คุณจะต้องcdไปแทน/Users/yourusername/homebrew/Library/usr/local/Library


20
ยังอีกเหตุผลหนึ่งที่ผมรักมีผู้จัดการเป็นแพคเกจที่สร้างขึ้นบนคอมไพล์ :)
spinlock

3
เผง รักซอฟต์แวร์ที่สามารถเรียกใช้จากแหล่งที่มาและอัปเกรดผ่าน git pull
Ranjith Ramachandra

7
แปลกฉันได้รับนี้ร้ายแรง: ไม่เก็บคอมไพล์ (หรือใด ๆ ของไดเรกทอรีแม่): .git
กาเบรียลอาร์

2
ฉันได้รับข้อผิดพลาดนี้:error: cannot open .git/FETCH_HEAD: Permission denied
sixty4bit

6
ลองsudo git pull origin master
Ranjith Ramachandra

48

ฉันพบวิธีแก้ปัญหานี้ :

ลิงก์นั้นอธิบายได้ดี แต่ในกรณีที่ลิงก์ตกนี่คือสิ่งที่คุณต้องทำ: พิมพ์คำสั่งเหล่านี้ในเทอร์มินัลของคุณ:

cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8

2
ต่างจากคำตอบที่ยอมรับซึ่งใช้งานได้จริง
พอล

นี่เป็นสิ่งเดียวที่ใช้ได้กับฉันในวันที่ 10.10.3
ผู้ใช้

ใช้ได้กับ 10.10.4
Ralfonso

ข้อผิดพลาดในการยกเลิก: ล้มเหลวขณะดำเนินการ: git pull -q origin refs / heads / master: refs / remotes / origin / master
itsazzad

สิ่งนี้ใช้ได้ผลสำหรับฉันแม้ว่าจะมีอีกขั้นตอนหนึ่งในการดำเนินการ: stackoverflow.com/questions/26501126/…
JussiR

22

รุ่นและตำแหน่งของ Ruby มีการเปลี่ยนแปลงด้วยเวอร์ชั่นใหม่ของ Mac OS X

/usr/local/Library/brew.rbในการแก้ไขปัญหานี้ในทางทั่วไปแก้ไข

ในบรรทัดแรกให้แทนที่1.8ด้วยCurrentเช่นจาก:

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0 

ไปที่:

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

การแบ่งนี้brew updateเนื่องจากคุณมีการเปลี่ยนแปลงแบบไม่มีข้อผูกมัด
Cameron Price-Austin

1
… แต่ต้องทำbrew updateอย่างใดอย่างหนึ่งที่จะใช้การแก้ไขที่ฉันแนะนำฉันไม่เคยใช้มาbrew updateจนถึงตอนนี้ดังนั้นฉันจึงไม่ได้มีการเริ่มต้น repo จำไม่ได้ว่าฉันติดตั้งยังไง
กาเบรียลอาร์

3

หากคุณแก้ไขปัญหาทับทิมแล้วพบปัญหาที่คุณได้รับแจ้งว่าระบบคิดว่าคุณกำลังใช้งานไทเกอร์หรือรุ่นเก่ากว่าการแก้ไขที่อยู่ที่นี่


1

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

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

ก่อนอื่นฉันรันคำแนะนำใน:

http://brew.sh/

ซึ่งสั่งให้ฉันถอนการติดตั้งครั้งแรกและพิมพ์บรรทัดคำสั่ง ฉันรันบรรทัดคำสั่งนั้นเพื่อถอนการติดตั้งจากนั้นติดตั้งใหม่และทุกอย่างเรียบร้อยดี

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

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