Ошибка обновления Brew на Yosemite

Я обновил свой Mac до новой OSX 10.10.

brew update не удалось с:

/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 23: /usr/local/Library/brew.rb: Undefined error: 0

Я попытался следовать "Получение плохой ошибки интерпретатора при использовании brew", но я не мог заставить его работать.

У меня нет Ruby в /usr/local/bin или /user/bin, что может быть по той же причине, что which ruby ничего не возвращает.

У меня есть Xcode 5.1 с установленными инструментами командной строки. Всякий раз, когда я запускаю терминал, я получаю:

-bash: /etc/profile.d/sm.sh: No such file or directory
-bash: /etc/profile.d/rvm.sh: No such file or directory

Может ли кто-нибудь предложить возможные решения?


person turbo    schedule 23.10.2014    source источник
comment
Отредактируйте файл bash вручную. Покажите все скрытые файлы, затем перейдите к файлу bash и отредактируйте его. Также попробуйте обновить до xcode 6.1.   -  person Sylar    schedule 23.10.2014
comment
Что вы обновили с до того, как у вас остался Ruby 1.8? Mavericks поставляется с 2.0.0..   -  person Mark Reed    schedule 23.10.2014
comment
только из Mavericks, но каким-то образом brew.sh указывает на версию 1.8 в первой строке   -  person turbo    schedule 23.10.2014


Ответы (2)


Сначала обновите Xcode до 6.1. Это версия, которая работает с Yosemite.

После этого убедитесь, что вы ЗАПУСТИЛИ Xcode и согласились с лицензией (я знаю, что это отстой).

Примечание. После обновления инструментов «Oh My Zsh» и перезапуска Xcode были установлены некоторые инструменты командной строки, которые, я уверен, важны.

person Noximus    schedule 23.10.2014

Есть что отметить:

  • Mac OSX поставляется с предустановленным Ruby в /bin/ruby. Это собственная установка Apple, используемая для некоторых их инструментов, и в основном ее следует игнорировать. Его обновление может сломать эти инструменты, и, что еще хуже, их удаление сломает их. Попытка переустановить его - боль, поэтому лучше притвориться, что его там нет.
  • We generally recommend using either RVM or rbenv to manage/install any other Ruby version. Those tools are well tested and make it easy to switch back and forth between versions.
    • rbenv is easier to manage but lacks some of the features of RVM.
    • Внимательно следуйте инструкциям по установке RVM, если вы идете этим путем; Мы видим много вопросов о переполнении стека, вызванных людьми, которые игнорируют указания или следуют указаниям на другом сайте, отличном от домашнего сайта RVM. (Авторы RVM действительно знают лучше, чем кто-либо другой, как заставить его работать.)
  • Brew может установить Ruby, но переключение между версиями становится сложнее.
  • Похоже, ваша переменная PATH не включает /usr/bin, что странно, потому что так и должно быть. Если это так, он должен найти Ruby по умолчанию.

    echo $PATH
    

    отобразит ваш путь поиска. Это редактируется и, если

    ls /usr/bin/ruby
    

    показывает, что Ruby существует в /usr/bin, тогда вы должны добавить его обратно в путь. Вы можете сделать это, отредактировав ~/.bashrc, но также проверьте ~/.bash_profile, чтобы убедиться, что что-то не испортило путь. И, если вы не понимаете, как работает путь, найдите время, чтобы прочитать об этом, потому что плохо настроенная переменная PATH может замедлить использование командной строки или вызвать всевозможные странности.

  • По умолчанию нет /usr/local/bin/ruby. Его также не будет использовать RVM или rbenv, но Homebrew, вероятно, поставит символическую ссылку; У меня нет его на моем Ruby, поэтому я не могу это проверить.
person the Tin Man    schedule 23.10.2014
comment
попробовал с помощью sudo \curl -sSL get.rvm.io | bash -s stable --ruby Загрузка github.com/wayneeseguin/rvm/archive/ stable.tar.gz rm: /Users/joshua/.rvm/src/rvm/bin/ruby-rvm-env: Отказано в доступе - person turbo; 23.10.2014
comment
Почему ты сделал sudo? - person the Tin Man; 23.10.2014