Ошибка при попытке обновления диспетчера пакетов brew
Я попытался обновить brew:
sudo brew update
Но я получил эту ошибку:
Ошибка: ваши локальные изменения в следующих файлах будут перезаписаны с помощью merge:
Перечисление большого количества файлов
Ошибка: сбой при выполнении git pull http://github.com/mxcl/homebrew.git мастер
Любая идея, что происходит не так?
Ответы
Ответ 2
Принятый ответ правильный, но неполный. Если вы получаете сообщение об ошибке
Ошибка: следующие файлы не обработанных файлов дерева будут перезаписаны слиянием:
Затем перейдите к своему терминалу и запустите эти команды
cd /usr/local
Тогда
git reset --hard FETCH_HEAD
Тогда
git checkout Library
Это должно быть все в порядке. Затем запустите
brew update
Ответ 3
Позвольте мне добавить: cd /usr/local/git
и затем запустите git reset --hard FETCH_HEAD
Ответ 4
перейдите к своему терминалу и запустите эти команды
cd /usr/local
sudo git reset --hard FETCH_HEAD
sudo git checkout Library
Ответ 5
Для тех из вас, кто использует OS X El Capitan, вашей проблемой может быть защита целостности системы.
Если /usr/local
уже существует, запустите следующее в Терминале:
sudo chown -R $(whoami):admin /usr/local
Если /usr/local
не существует:
Сначала попробуйте создать /usr/local
обычным способом:
sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local
Если вы видите проблемы с разрешениями, попробуйте:
- Перезагрузитесь в режиме восстановления (удерживайте Cmd + R при загрузке) и получите доступ к терминалу.
- В этом терминале запустите:
csrutil disable
- Перезагрузитесь обратно в OS X
- Откройте приложение "Терминал" и выполните строку сверху
- Перезагрузитесь обратно в режим восстановления и снова получите доступ к терминалу.
- В этом терминале выполните:
csrutil enable
- Перезагрузитесь в OS X, и вы сможете написать в /usr/local & install Homebrew.
Ответ 6
Без причины (или, по крайней мере, я бы не понял) репозиторий в /usr/local
(который является brew install!) потерял свой удаленный репозиторий. Таким образом, ни a git reset
, ни a git pull
, и, безусловно, не будет brew update
.
Откуда вы знаете, что это произошло? Проверьте /usr/local/.git/config
, есть ли такие строки, как:
[remote "origin"]
url = http://github.com/mxcl/homebrew.git
fetch = +refs/heads/*:refs/remotes/origin/*
Если не сделать следующее:
cd /usr/local
git remote add origin http://github.com/mxcl/homebrew.git
git pull origin master