Bagaimana cara memperbaiki minuman setelah peningkatan OSX ke Yosemite?

181

Saya menghadapi beberapa masalah dengan Homebrew. Saya meningkatkan ke Yosemite. Setelah upgrade, homebrew tampaknya rusak.

Saya akan menjalankan perintah minuman dan mendapatkan kesalahan ini

/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

Bagaimana mengatasinya?

Ranjith Ramachandra
sumber
Saya baru saja memutakhirkan dari Mac OS X 10.8 ke 10.10 (Yosemite), dan homebrew berfungsi dengan baik setelah peningkatan. Entah masalah ini sudah diperbaiki, atau ada sesuatu yang berbeda tentang peningkatan OS saya dibandingkan dengan semua orang yang memposting di sini.
Yitz

Jawaban:

239

Saya memutuskan untuk mencari ini dan menemukan ada masalah . Masalahnya sudah ditutup tetapi tidak mungkin dijalankan brew updatekarena Anda masih akan mendapatkan kesalahan yang sama.

Jadi, inilah yang perlu Anda lakukan:

cd /usr/local/Library
git pull origin master

Jika Anda memiliki perubahan pada direktori (/ usr / local / Library), tarikan git akan menimbulkan kesalahan. Dalam hal ini, Anda harus mengambil cabang master dan mengaturnya secara paksa sebagai master:

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

Ini akan meningkatkan versi homebrew Anda dan Anda dapat menggunakan lagi.

Jika Anda menginstal Homebrew sebagai user non-root, Anda harus cdke /Users/yourusername/homebrew/Librarybukannya /usr/local/Library.

Ranjith Ramachandra
sumber
20
Belum alasan lain saya suka memiliki paket manager yang dibangun di atas git :)
spinlock
3
Persis. Cinta perangkat lunak yang hanya berjalan dari sumber dan dapat ditingkatkan melalui tarikan git
Ranjith Ramachandra
7
Aneh, saya mendapatkan ini fatal: Bukan repositori git (atau direktori induk): .git
Gabriel R.
2
Saya mendapatkan kesalahan ini:error: cannot open .git/FETCH_HEAD: Permission denied
sixty4bit
6
Cobasudo git pull origin master
Ranjith Ramachandra
48

Saya menemukan solusi ini :

Tautan itu menggambarkannya dengan baik, tetapi jika tautnya turun, inilah yang perlu Anda lakukan: Ketikkan perintah-perintah ini ke Terminal Anda:

cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8
Elias Zamaria
sumber
2
Berbeda dengan jawaban yang diterima, ini benar-benar berhasil.
Paul
Ini adalah satu-satunya hal yang bekerja untuk saya pada 10.10.3
pengguna
Juga berfungsi untuk 10.10.4
Ralfonso
Batalkan Kesalahan: Kegagalan saat mengeksekusi: git pull -q asal referensi / kepala / master: ref / remote / asal / master
itsazzad
Ini berhasil bagi saya, meskipun ada juga langkah lain yang harus diambil: stackoverflow.com/questions/26501126/…
JussiR
22

Versi dan lokasi Ruby berubah dengan versi Mac OS X yang baru.

Untuk memperbaikinya dengan cara yang umum, edit /usr/local/Library/brew.rb.

Di baris pertama, ganti 1.8dengan Current, yaitu dari:

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

untuk:

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
Gabriel R.
sumber
Ini rusak brew updatekarena Anda sekarang memiliki perubahan yang tidak dikomit.
Cameron Price-Austin
1
... tetapi untuk melakukan brew updateitu harus menerapkan perbaikan yang saya sarankan. Saya tidak pernah menggunakan brew updatesampai sekarang, jadi saya bahkan tidak memiliki repo diinisialisasi. Tidak ingat bagaimana saya menginstalnya.
Gabriel R.
3

Jika Anda memperbaiki masalah ruby ​​dan kemudian menabrak masalah di mana Anda diberitahu bahwa sistem berpikir Anda menjalankan harimau atau rilis yang lebih tua, perbaikan untuk itu ada di sini

Drux
sumber
1

Saya pertama kali mencoba jawaban berperingkat tertinggi dan kemudian mengenai masalah lain . Setelah itu saya menyerah untuk memperbaikinya karena saya baru saja menginstal beberapa paket. Mungkin orang lain ada di kapal ini juga.

Walaupun ini semua adalah jawaban yang sangat baik, bagi saya lebih mudah hanya menginstal ulang minuman.

Pertama, saya menjalankan instruksi pada:

http://brew.sh/

yang mengarahkan saya untuk menghapus instalasi pertama, dan mencetak baris perintah. Saya menjalankan baris perintah itu untuk menghapus instalasi, lalu menginstal ulang, dan semuanya baik-baik saja.

Saya tidak ingin mencetak perintah khusus, karena mereka cenderung berubah sedikit saat pembuatan menyesuaikan bagaimana hal-hal diinstal.

dpb
sumber