Первый шаг - выяснить, какой рубин вызывается:
which ruby
Ваша система говорит:
/usr/bin/ruby
Это НЕ оболочка, используемая rbenv, которая (на MacOS) должна выглядеть так:
/Users/<username>/.rbenv/shims/ruby
На самом деле shim - это скрипт, который действует как перенаправление на установленную вами версию ruby.
rbenv global 1.9.3
rbenv local --unset
rbenv shell --unset
Я рекомендую, чтобы при устранении неполадок вы сбрасывали конкретную «локальную» версию проекта и конкретную версию «оболочки» для оболочки и просто тестировали, используя настройку «глобальной» версии, которая определяется в виде простого текстового файла в ~ / .rbenv / verion, который просто будет номер версии "1.9.3" в вашем случае. Вы можете выполнить команду «ls -laG» в корне папки вашего проекта (не домашней папки), чтобы убедиться, что там больше нет файла «.ruby-version».
Вы можете использовать «версии rbenv», чтобы определить, какая версия rbenv установлена для использования (а также расположение и имя файла, который ее устанавливает).
rbenv versions
Ничего из этого: пока вы не установите правильный путь.
Используйте это, чтобы убедиться, что ваш * MacOS будет подчиняться вам:
eval "$(rbenv init -)"
С последующим:
which ruby
Чтобы убедиться, что это выглядит так: /Users//.rbenv/shims/ruby
Затем добавьте строку в свой профиль, чтобы она запускалась каждый раз, когда вы открываете новое окно терминала:
~/.bash_profile
eval "$(rbenv init -)"
Есть другие способы изменить путь, не стесняйтесь заменить любой из них вместо запуска init rbenv.
ПРИМЕЧАНИЕ: переустановите Rails с помощью:
gem install rails
Если вы пытались запустить Ruby on Rails, то сначала нужно, чтобы все это работало, а затем снова установить гем rails. Предыдущая версия Rails будет использовать жестко заданный путь к неправильному рубину, и некоторые другие вещи будут в неправильном месте, поэтому просто установите гем снова.
PS Если ваш MacOS не подчиняется вам (* упомянутый выше), то вам, возможно, придется найти другой способ изменить свой путь, но это вряд ли будет проблемой, потому что «Mac просто работают»;)