У меня возникла проблема с Homebrew. Я обновился до Йосемити. После обновления homebrew кажется сломанным.
Я бы запустил любую команду варки и получил бы эту ошибку
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0
Как это решить?
Я решил посмотреть это и обнаружил, что есть проблема . Проблема закрыта, но просто запустить ее невозможно, brew update
потому что вы все равно получите ту же ошибку.
Итак, вот что вам нужно сделать:
cd /usr/local/Library
git pull origin master
Если у вас есть изменения в каталоге (/usr/local/Library), git pull выдаст ошибку. В этом случае вам придется получить ветку master и принудительно установить ее как master:
git fetch --all
git reset --hard origin/master
Это улучшит ваш домашний напиток, и вы снова сможете его использовать.
Если вы установили Homebrew как пользователь без полномочий root, вам cd
потребуется /Users/yourusername/homebrew/Library
вместо /usr/local/Library
.
error: cannot open .git/FETCH_HEAD: Permission denied
sudo git pull origin master
Could not restore untracked files from stash Error: Failure while executing: git stash pop --quiet
. Сначала сделайте, sudo chown -R $(whoami):admin /usr/local
а затем примените это решение.git fetch origin master; git add --all . ; git reset --hard origin/master;
Затем я смог слить последние, как вы сказали: git pull origin master
. Я был обеспокоен тем, что репозиторий git находится в общем каталоге. Но я думаю, именно поэтому Homebrew любит владеть всеми вашими установками. Остерегайтесь, если у вас есть установленные вещи, отличные от Brew.Я нашел это решение :
Эта ссылка хорошо описывает это, но в случае, если ссылка не работает, вот что вам нужно сделать: Введите эти команды в свой терминал:
cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8
Версия и расположение Ruby изменились в новой версии Mac OS X.
Чтобы исправить это общим способом, отредактируйте /usr/local/Library/brew.rb
.
В первой строке замените 1.8
на Current
, т.е. from:
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0
к:
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
brew update
, потому что теперь у вас есть незафиксированное изменение.brew update
нужно применить исправление, которое я предложил. Я никогда не использовал brew update
его до сих пор, поэтому у меня даже не было инициализировано репо. Не могу вспомнить, как я его вообще установил.Если вы устраните проблему ruby, а затем столкнетесь с проблемой, когда вам сообщат, что система думает, что вы используете Tiger или более старую версию, исправление для этого находится здесь .
Сначала я попробовал ответ с самым высоким рейтингом, а затем столкнулся с другой проблемой . После этого я как бы отказался от исправления, так как у меня было установлено всего несколько пакетов. Может быть, в этой лодке и другие.
Хотя все это отличные ответы, для меня было проще просто переустановить brew.
Сначала я выполнил инструкции:
который указал мне сначала удалить и напечатать командную строку. Я запустил эту командную строку для удаления, затем переустановил, и все было в порядке.
Я не хочу печатать конкретные команды, так как они имеют тенденцию немного меняться по мере того, как пиво настраивает то, как все устанавливается.
Иц