То, что вы получаете, означает, что Homebrew не удалось найти интерпретатор Ruby в указанном месте.
Установите Apple Developer Kit (поставляется с Xcode), который должен быть доступен вам как дополнительная установка (или вы можете просто скачать его с Apple).Это установит для вас интерпретатор Ruby.
Если у вас уже установлен Xcode, это означает, что происходит одно из следующих действий:
- У вас сломанная установка Ruby
- У вас есть более одной установки Ruby
- Ваша установка не была правильно настроена.
Чтобы определить, является ли это первым случаем, вы можете запустить ruby
ипосмотрите, получите ли вы какой-либо ответ.
Если вы этого не сделаете, ваша установка не работает, и вам необходимо переустановить ее.Если вы это сделаете, вы запустите which ruby
.Это должно дать вам абсолютный путь к вашему исполняемому файлу Ruby.Если это что-то отличное от /usr/bin/ruby
, то homebrew (и куча других программ) не сможет его найти.
Если вы никогда не вмешивались в вашу установку Ruby, вы можете проверить, чтобы увидетьесли /usr/bin/ruby
уже существует или нет: cat /usr/bin/ruby
.Если вы получите No such file or directory
, то вы можете легко создать символическую ссылку на вашу установку Ruby.Предполагая вывод от which ruby
до /usr/local/bin/ruby
, вы создаете символическую ссылку следующим образом: sudo ln -s /usr/local/bin/ruby /usr/bin/ruby
и все должно быть в порядке.
Если в этом месте есть файл, вы можете запустить file /usr/bin/ruby
чтобы увидеть, настоящий ли это файл, символическую ссылку или поврежденный файл.Если это символическая ссылка, ваша установка должна работать, а поскольку это не так, возможно, это либо поврежденная символическая ссылка, либо поддельный файл.
Вы можете исправить это, сначала удалив ее (sudo rm /usr/bin/ruby
)и затем создание новой символической ссылки в правильное местоположение (sudo ln -s /usr/local/bin/ruby /usr/bin/ruby
).
Если не сработало вышеперечисленное, вам следует проконсультироваться с командой homebrew после чистой установки Xcode и удаления любых следов установки Ruby наваша система.
РЕДАКТИРОВАТЬ
В качестве альтернативы, как указано в других ответах, проблема может быть из-за плохой версии ruby в настройках Homebrew.
Быстрое исправление может обновлять ваш домашний напиток:
cd /usr/local
git pull -q origin refs/heads/master:refs/remotes/origin/master
Если это не поможет, вы можете испачкать руки и решить проблему вручную:
- Редактирование
brew.rb
из /user/local/Library/brew.rb
- Изменение
/1.8/
на /Current/
в первой строке, что приведет к тому, что hashbang укажет на текущую версию Ruby в качестве исполнителя
Если это сделатьТакже это не поможет, вы также можете изменить проверку MACOS
и изменить ее с 10.5 на 10 , чтобы избежать печально известной ошибки "Homebrew требует Leopard или выше".
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ
Огромное спасибо другим участникам в ответах ниже и их комментаторам.Я не совершаю плагиат, просто собираю ответы в одну интегрированную статью, чтобы помочь другим.