После обновления до OS X 10.10 (хотя это могло быть неактуально), я не смог выполнить ни одной команды brew . Любая команда дала мне эту ошибку:

/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

Я обнаружил, что это не потому, что отсутствует ruby , а из-за изменений, которые необходимо внести в /usr/local/Library/brew.rb .

Если я зайду в этот файл и заменю #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0 с #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0 brew команды работают правильно. Так здорово!

Тем не менее, я не могу brew update из-за этого. Теперь я получаю эту ошибку:

error: Your local changes to the following files would be overwritten by merge:
    Library/brew.rb
Please, commit your changes or stash them before you can merge.
Aborting
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

Скорее всего, обновление, которое будет применено в случае слияния, исправит мою первоначальную проблему, но я не могу применить его без изменений локально. Если я не изменюсь локально, я не могу обновить.

Есть ли элегантное решение, которое не нарушит весь мой рабочий процесс.

1 ответ1

0

После поиска точной ошибки я обнаружил, что на нее ответили в AskDifferent: https://apple.stackexchange.com/questions/153790/how-to-fix-brew-after-its-upgrade-to-yosemite

cd /usr/local/Library 
git pull origin master

Вы можете просто обновить все вручную с помощью Git. Вы не можете каким-либо образом редактировать /usr/local/Library/brew.rb , или вы получите ту же проблему слияния.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .