Как мне обновить Homebrew?

#git #homebrew

#git #homebrew

Вопрос:

Когда я запускал:

 brew update
  

Я получил сообщение о том, что он инициализировал пустой репозиторий в /usr/local/.git/ , затем я получил эту ошибку:

Скриншот

Комментарии:

1. Если вы просто ищете быстрый способ устранить эту проблему как можно скорее, вы можете выполнить следующую команду в своей командной строке, находясь в корневом каталоге вашего Homebrew (обычно / usr / local /) с установленным в вашей системе Git: git init; git fetch https://github.com/mxcl/homebrew.git master; git reset --hard FETCH_HEAD; brew update .

Ответ №1:

  • cd /usr/local
  • git status
  • Отмените все изменения (если только вы на самом деле не хотите попробовать перейти на Homebrew — скорее всего, вы этого не делаете)
  • git status пока он не станет чистым
  • brew update

Комментарии:

1. Вместо того, чтобы отбрасывать изменения, возможно, было бы лучше git stash внести изменения. Затем, после завершения обновления, запустите git stash pop , чтобы восстановить пользовательские изменения

2. Я сделал именно это, спрятал все изменения в /usr /local … но запуск ‘brew update’ продолжает выдавать мне ошибки разрешения для определенных файлов git. Я допустил ошибку, выполнив ‘sudo brew update’, которое теперь, похоже, заблокировало мою установку, и каждая команда brew теперь выдает ошибки ruby

3. я тоже обновил sudo brew и теперь получаю ошибки ruby, как вы сказали.. что мне теперь делать? :'(

4. Вы можете попытаться исправить это, выполнив sudo chown -R yourusername:admin /usr/local/.git

5. К вашему сведению: это также может быть cd /usr/local/Homebrew

Ответ №2:

Начиная с 2021 года вы можете просто использовать brew update который обновляет сам homebrew.

Комментарии:

1. Ошибка обновления % brew: homebrew-core является неглубоким клоном. homebrew-cask — это мелкий клон. Для brew update первого запуска: git -C /usr /local/Homebrew/Library/Taps/homebrew / homebrew-core fetch -отмените git -C /usr /local/Homebrew/Library/Taps /homebrew / homebrew-cask fetch -отмените выполнение этих команд может занять несколько минут из-за большого размера репозиториев. Это ограничение было сделано по запросу GitHub, поскольку обновление мелких клонов является чрезвычайно дорогостоящей операцией из-за древовидной структуры и трафика Homebrew / homebrew-core и Home…..

2.Не всегда. Установка по умолчанию должна быть адаптирована, прежде чем команда обновления сможет работать. например, мне нужно было выполнить эти две команды git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow перед запуском brew update

Ответ №3:

В качестве альтернативы вы могли бы обновить brew , установив его снова. (Думаю, я сделал это, поскольку El Capitan что-то изменил)

Примечание: это жесткий подход, который приведет к удалению всех приложений, установленных через brew!

Попробуйте установить brew заново, и он подскажет, как удалить.

На момент написания для удаления:

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

Редактировать: Начиная с 2020 года для удаления:

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

Комментарии:

1. будьте осторожны, этот скрипт удалит все приложения, которые вы установили через brew

2. Переустановка brew с помощью этого метода, похоже, больше не приводит к удалению установленных приложений.