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

У меня возникают проблемы с разрешениями в Homebrew: после того, как я установил Node и попытался установить npm с помощью команды curl, которую Homebrew говорит вам использовать, она не удалась из-за ошибок EACCESS. Я проверил папку узла, и разрешения были: а) не принадлежали пользователю (мне пришлось его перехватить) и б) не было разрешений на запись (мне пришлось изменить его 755 chmod).

Я исправил проблему с NPM, но мне пришлось запустить его сценарий установки как sudo (что плохо!).

Я предполагаю, что должен был установить Homebrew как root или что-то подобное. Я надеюсь, что переустановка исправит это, но я не могу найти источник, как переустановить Homebrew.

Когда я повторно запускаю установщик в Терминале, я получаю:

/usr/local/.git already exists!

person AndrewKS    schedule 14.06.2012    source источник
comment
Я сделал ту же ошибку, запустив brew с root, мне удалось решить проблему, выполнив sudo chown -R johndoe /usr/local/Library и sudo chgrp -R admin /usr/local/Library   -  person gerrytan    schedule 28.08.2015
comment
Я испортил свой сценарий / usr / local / bin / brew bash, буквально потерял код, который принадлежал этому сценарию, и повторный запуск сценария установки исправил его.   -  person Devin Rhode    schedule 09.01.2020
comment
Вы можете попробовать brew update-reset перед полной переустановкой.   -  person Boris    schedule 04.04.2021


Ответы (7)


Попробуйте запустить команду brew doctor и сообщите нам, какой результат вы получите


edit: И чтобы ответить на вопрос заголовка, это из их FAQ:

Homebrew не записывает файлы вне своего префикса. Так что обычно вы можете просто rm -rf папку, в которую вы его установили.

Так что после этого вам лучше всего подойдет чистая переустановка (следуя последним рекомендованным шагам).

person kayge    schedule 14.06.2012
comment
Единственная проблема в том, что мой Xcode устарел. Но после того, как я запустил «brew install node», права доступа к папке node_modules перестали работать. Я добавлю это к своему вопросу, потому что, возможно, я ищу неправильный ответ. - person AndrewKS; 14.06.2012
comment
Хм, да, это потенциально может вызвать собственный набор проблем. Есть ли причина не обновлять Xcode (и инструменты командной строки для Xcode)? - person kayge; 14.06.2012
comment
Это очень небольшой скачок - от 3.2.4 до 3.2.6, и у меня не было времени и пропускной способности, чтобы загрузить весь файл размером 4 ГБ (сегодня вечером сделаю это за ночь). - person AndrewKS; 14.06.2012
comment
Вопрос по вашему ответу - а кеги? Похоже, если я просто rm -rf кеги, будет куча битых символических ссылок. Например. 'which node' возвращает '/ usr / local / bin / node', который является символической ссылкой на команду node в Homebrew's Cellar. - person AndrewKS; 14.06.2012
comment
Не могу сказать, что лично сталкивался с этой проблемой, но похоже, что при необходимости все можно исправить, используя комбинацию brew doctor и brew link/unlink по мере необходимости. Вот некоторые комментарии разработчика по проблеме, с которой вы потенциально можете столкнуться: github.com/mxcl/ homebrew / issues / 11050 - person kayge; 14.06.2012
comment
Я предполагаю, что если символические ссылки являются проблемой, лучше всего будет удалить каждый бочонок, чтобы ссылки были удалены. Отмечу твой ответ как правильный. - person AndrewKS; 14.06.2012
comment
Обратите внимание, что папка, в которую вы его установили, обычно /usr/local, и пользователь вполне мог установить туда другие вещи, кроме Homebrew, поскольку это стандартное место для установки пользовательских утилит Unix. Я специально устанавливаю Homebrew в его собственный /usr/homebrew каталог, чтобы его было легко удалить и перестроить, но brew doctor предупреждает, что нестандартное место установки может вызвать проблемы. Все идет нормально. - person Nelson; 29.03.2013

Обновите 10/11/2020, чтобы отразить последние изменения в пиве.

Brew уже предоставили команду для удаления (это удалит все, что вы установили с Homebrew):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

Если вам не удалось запустить эту команду из-за разрешения (например, запуск от имени второго пользователя), запустите еще раз с помощью sudo.

Затем вы можете установить снова:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
person Ming C    schedule 16.04.2016
comment
jenkins $ ruby ​​-e $ (curl -fsSL raw.githubusercontent.com/Homebrew/install/ master / install) Этот сценарий требует, чтобы пользователь был администратором. jenkins $ sudo ruby ​​-e $ (curl -fsSL raw.githubusercontent.com/Homebrew/install / master / install) Пароль: не запускайте это как root! - person Sazzad Hissain Khan; 07.03.2017
comment
При установке возникла ошибка. Этот сценарий требует, чтобы пользователь был администратором. Хотя пользователь уже является администратором. Пожалуйста помоги. - person Sazzad Hissain Khan; 07.03.2017
comment
Это должен быть ответ! - person trusktr; 26.05.2018
comment
Будет ли это ядерным взрывом в установленных контейнерах? Знаете ли вы, удалит ли сценарий удаления Homebrew все конфигурации установленных пакетов? Если да, есть ли способ сохранить настройки для установленных пакетов? - person Jason; 29.12.2020

Процесс заключается в очистке и повторной установке с помощью следующих команд:

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

Примечания:

person William Entriken    schedule 16.03.2014
comment
Для меня этого было почти достаточно. Мне также пришлось запустить: brew doctor И последовать его совету, который включал выполнение brew prune Шаг сокращения был критическим в моем случае. Очевидно, очистка пивоварения не удалила все мертвые символические ссылки из / usr / local / bin, и в результате выполнение brew install inkscape действительно запуталось. - person burlyearly; 27.08.2014
comment
URL установки изменен на: raw.githubusercontent.com/Homebrew/install/master/install - person Sebastian N.; 16.10.2014
comment
ошибка This script requires the user to be an Administrator., хотя пользователь уже является администратором. Не могли бы вы помочь. - person Sazzad Hissain Khan; 07.03.2017
comment
Это странно. У меня установлен HomeBrew, и команда brew работает, но у меня нет папки Cellar. - person Nijat2018; 02.10.2018
comment
ссылка для установки теперь также использует bash: bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" - person kip2; 08.04.2020

Для Mac OS X Mojave и более поздних версий

Чтобы удалить Homebrew, выполните следующую команду:

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

Чтобы установить Homebrew, выполните следующую команду:

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

И если вы столкнетесь с проблемой отказа в разрешении, попробуйте снова запустить эту команду, а затем команду установки:

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*
person Ansari    schedule 07.07.2019
comment
согласно ссылке для установки на странице raw.githubusercontent.com/Homebrew/install/master/install, теперь они используют bash вместо ruby -e, поэтому команда установки теперь: bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" - person kip2; 08.04.2020
comment
По-прежнему пришлось удалить / usr / local / Homebrew для полной деинсталляции. - person Justin Geeslin; 08.07.2020

Чтобы переустановить Homebrew, полностью удалите его и начните заново. В FAQ по домашнему пиву есть ссылка на сценарий оболочки для удаления homebrew.

Если единственное, что вы установили в /usr/local, это сам доморощенный, вы можете просто rm -rf /usr/local/* /usr/local/.git очистить его. Но /usr/local/ - это стандартный каталог Unix для всех дополнительных двоичных файлов, а не только для Homebrew, так что в нем могут быть установлены другие вещи. В этом случае лучше использовать uninstall_homebrew.sh. Осторожно удалите только файлы homebrew и оставьте все остальное в покое.

person Nelson    schedule 29.03.2013
comment
Я рекомендую прочитать FAQ Homebrew по ссылке выше, там есть хорошо написанная документация о том, как лучше всего и безопасно переустановить. - person Atari; 12.05.2017
comment
Ссылка на страницу часто задаваемых вопросов не работает, у нее должно быть больше шансов на выживание: docs.brew.sh/FAQ - person Alexander Fortin; 10.01.2021

Мне нужно выполнить следующие действия, чтобы переустановить варево с нуля.

sudo rm -rf /usr/local/Cellar/
brew cleanup
sudo rm -rf $(brew --repo)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
person Velu    schedule 25.03.2021

Для меня это работало без доступа к sudo.

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

Для получения дополнительной информации перейдите по ссылке https://gist.github.com/mxcl/323731.

введите здесь описание изображения

person DILIP KOSURI    schedule 09.07.2017
comment
Нет, нужно все еще быть администратором, чтобы запустить это (на момент этого комментария) - person Jay; 08.11.2018