Як виправити заварку після оновлення OSX до Yosemite?


181

Я зіткнувся з деякою проблемою з Homebrew. Я перейшов до Йосеміті. Після оновлення домашнє пиво здається порушеним.

Я би запустив будь-яку команду brew і отримав цю помилку

/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), і домашнє програмне забезпечення працює нормально після оновлення. Або ця проблема була виправлена, або було щось інше в моєму оновленні ОС порівняно з усіма іншими публікаціями тут.
Іцц

Відповіді:


239

Я вирішив переглянути це і виявив, що є проблема . Проблема закрита, але її неможливо просто запустити, brew updateоскільки ви все одно отримаєте ту саму помилку.

Отже, ось що потрібно зробити:

cd /usr/local/Library
git pull origin master

Якщо у вас є зміни в каталозі (/ usr / local / Library), git pull призведе до помилки. У такому випадку вам доведеться отримати головну гілку та примусово встановити її як головну:

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

Це дозволить оновити домашню капусту, і ви можете знову використовувати варіння.

Якщо ви встановили Homebrew як позакористувацький користувач, вам потрібно буде cdзробити це /Users/yourusername/homebrew/Libraryзамість /usr/local/Library.


20
ще одна причина, що мені подобається мати менеджера пакунків, побудованого на git :)
спінлок

3
Саме так. Програмне забезпечення любові, яке просто працює від джерела та оновляється за допомогою git pull
Ranjith Ramachandra

7
Дивно, я отримую це фатально: Не сховище git (або будь-який з батьківських каталогів): .git
Габріель Р.

2
Я отримую цю помилку:error: cannot open .git/FETCH_HEAD: Permission denied
шістдесят біт

6
Спробуйтеsudo git pull origin master
Ранджіт Рамачандра

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
Ральфонсо

Помилка відміни: Невдача під час виконання: 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тому що тепер у вас є неспроможні зміни.
Камерон Прайс-Остін

1
… Але для цього brew updateпотрібно застосувати виправлене, яке я запропонував. Я ніколи не використовував brew updateдотепер, тому навіть у мене не було ініціалізовано репо. Не пам'ятаю, як я навіть його встановив.
Габріель Р.

3

Якщо ви вирішите проблему з рубіном, а потім натисніть на проблему, коли вам кажуть, що система вважає, що ви працюєте з тигром або старішим випуском, виправлення для цього є тут


1

Я спершу спробував відповісти з найбільшою оцінкою, а потім потрапив на інше питання . Після цього я свого роду відмовився від виправлення, оскільки в мене було встановлено лише пару пакунків. Можливо, і інші є в цьому човні.

Хоча це все відмінні відповіді, для мене було простіше просто встановити заварку.

Спочатку я запустив інструкції щодо:

http://brew.sh/

яка спрямовувала мене спочатку видалити та надрукувала командний рядок. Я запустив цей командний рядок для видалення, потім перевстановився, і все було добре.

Я не хочу надрукувати конкретні команди, оскільки вони, як правило, трохи змінюються, коли варити варити спосіб встановлення речей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.