#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 с помощью этого метода, похоже, больше не приводит к удалению установленных приложений.