Не уверен, что вы когда-нибудь решали это. Но это звучит как 1 из 2 проблем:
1. Вы установили неправильный рубин с MacPorts
если вы только что запустили port install ruby
, то вы установили старую версию, которая объясняет, почему ruby -v
по-прежнему показывает 1.8.6.
Если вы запустили port install ruby19
, то вы установили ruby 1.9, но под именем ruby19. Чтобы получить к нему доступ, вам нужно будет набрать ruby19
вместо ruby
... так ruby19 script/generate
, ruby19 -v
... и т. Д.
Чтобы исправить это, вы можете сделать port install ruby19+nosuffix
2. у вас все еще установлен PATH на старый Ruby, поэтому вы получаете 1.8.6 на ruby -v
.
Сначала вы должны выяснить, где OSX ищет ваш рубин, набрав which ruby
. Если вы используете MacPorts, эта команда должна вернуть /opt/local/bin/ruby
. Если which ruby
возвращает /usr/bin/ruby
, то он по-прежнему находит рубин по умолчанию, который поставляется с OSX, а именно 1.8.6.
Чтобы изменить свой PATH, откройте .bash_profile, расположенный в вашей папке пользователя (если у вас есть textmate, вы можете сделать mate
~ / .bash_profile). Добавьте в эту строку и сохраните:
echo PATH="/opt/local/bin:/opt/bin:$PATH"
По сути, вы добавляете рубин MacPorts в PATH, поэтому система ищет рубин также в папке /opt
. Также, что может быть более важно, вы помещаете путь MacPorts перед стандартным PATH, чтобы он сначала нашел его.
Удачи с этим. Хотя лично я голосую за Homebrew . Вы можете найти мои настройки для этого в моем блоге .