Как безопасно отремонтировать и / или переустановить Homebrew?

14

Я пытаюсь восстановить Homebrew.

Я недавно пытался переустановить его, но когда я набрал "Brew Doctor"

Мой вывод был:

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
The current working directory doesn't exist, cannot proceed.

Я попытался переустановить его, набрав это снова в командной строке:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Но мой вывод:

It appears Homebrew is already installed. If your intent is to reinstall you
should do the following before running this installer again:
rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

Как я могу исправить мою установку Homebrew?

AndrewMRiv
источник
3
Почему ты не читаешь свой вывод? Это объяснит довольно хорошо.
Джерран
На сегодняшний день у меня есть та же проблема, описанная в оригинальном посте. У меня такое чувство, что это началось сразу после обновления OS X до 10.11.2 через App Store. Независимо от того, какие параметры передаются для варки, будь то «доктор», «очистка» и т. Д., Все они дают одинаковый результат. Поэтому, по крайней мере, инструкция «очистка от заваривания» не может быть выполнена. Может ли это быть вызвано SIP OS X? У кого-нибудь есть другие идеи?
Аксель Кирх
Добро пожаловать, чтобы спросить другого. Есть два варианта: вы можете задать вопрос, показывающий результаты rm команды, или мы можем проголосовать / продвинуть это с изменениями. Также - вы могли бы спросить - как я могу определить, влияет ли SIP на конкретную задачу. это ответственно и кажется немного за рамками этого вопроса, так что я буду рад ответить на него для вас в другом месте. Ответ почти наверняка "нет" в случае доморощенного.
bmike

Ответы:

17

Почему вы не делаете то, что он говорит?

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Первая строка полностью удалит homebrew, а затем вы сможете переустановить его.

ПРИМЕЧАНИЕ. Если вы сделаете это, вам придется переустановить все, что вы установили с помощью homebrew.

Габриэль Литман
источник
Спасибо. По какой-то причине, когда я сделал "brew install php54 --with-fpm --with-imap --without-apache --with-debug", он выдал мне первую ошибку вывода из моего поста. Когда я попытался использовать "ruby -e" $ (curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install ) "", это дало мне вторую ошибку вывода. Перезагрузка компьютера и выполнение того, что вы мне сказали, действительно помогло. Спасибо!
AndrewMRiv
При использовании rvm происходит сбой с некоторой ошибкой ruby ​​«изображение не найдено»; Обязательно используйте sys ruby:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
tutuDajuju
16

Это случилось со мной, потому что в моей консоли было открыто две вкладки. В Console AI удалили текущий рабочий каталог Console B. Затем, не задумываясь об этом, я запустил brew upgradeConsole B. Разумеется, он выдал вышеуказанную ошибку.

Простое решение: просто cdв другой каталог в консоли B и brew upgradeснова.

Я и моя бесконечная мудрость.

RobertAKARobin
источник
2
Это правильный ответ.
Тамас Кальман
1
О, мое слово - возможно, придется переустановить все под brew перед переходом в другой каталог. Да, это должен быть правильный ответ.
DanSingerman
0

Если в вашей доморощенной установке вы также установили инструменты XCode на свой Mac, вам, возможно, просто нужно закрыть окно терминала и открыть новое :)

Колтон Хикс
источник