Homebrew - плохой интерпретатор: нет такого файла или каталога

Как идиот, мне удалось удалить мою рубиновую систему.

Я переустановил xcode, а также установил RVM

Выполнение этого действия:

$ which ruby

возвращает это:

/Users/alex/.rvm/bin/ruby

Однако, Homebrew все еще кажется сломанным:

$ brew  
-bash: /usr/local/bin/brew: /usr/bin/ruby: bad interpreter: No such file or directory

Ответ 1

Система ruby ​​на OS X символически связана с Ruby.framework. Поскольку вы переустановили Xcode, он должен быть установлен, но вам нужно восстановить символические ссылки.

Сначала убедитесь, что этот файл существует и работает.

$ /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]

Если эта команда работает, вы должны снова установить сим-ссылки

cd /usr/bin
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby /usr/bin/ruby
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/erb /usr/bin/erb
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/gem /usr/bin/gem
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/irb /usr/bin/irb
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/rake /usr/bin/rake
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/rdoc /usr/bin/rdoc
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ri /usr/bin/ri
sudo ln -s ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/testrb /usr/bin/testrb

Это должно начаться, надеюсь, я не забыл ни одного из двоичных файлов, которые нужно связать. Существуют и другие рекомендации по переустановке рубина здесь: https://superuser.com/questions/171433/is-it-possible-to-reinstall-fix-mac-os-xs-system-ruby-without-doing-a-complete

Другой метод в основе: https://gist.github.com/1418384

Ответ 2

brew жестко запрограммирован для использования рубиновой системы. Вы можете попробовать изменить brew shebang (первая строка) на /usr/bin/env ruby, но он не гарантирует работу ни с чем, кроме системы Ruby (я не уверен, что она полностью совместима с Ruby 1.9).

Или вы можете переустановить систему Ruby, которая должна быть, возможно, переустановкой OS X.

Ответ 3

Если вы не хотите переустанавливать рубины системы, следующее должно сделать трюк.

ВАЖНО: замените MY_USER_NAME на имя вашей домашней папки, которая является "коротким именем" вашего пользователя в OS X.

sudo ln -s /Users/MY_USER_NAME/.rvm/bin/ruby /usr/bin/ruby

Ответ 5

Ссылка на установку для доморощенного была перемещена.

Вот новый:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Ответ 6

sudo rm -rf /usr/local/Cellar /usr/local/.git
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Я решил переустановить brew.