2010-11-05 2 views
2

Я обновил мою рубиновую версию до 1.9.2, но когда я запускаю терминал и запускаю ruby ​​-v, он показывает 1.8.7.По умолчанию рубиновая версия в Mac Snow Leopard

Единственный способ, которым я могу переключиться на ruby ​​1.9.2, - это написать источник ~/.profile в терминале.

Как я могу сделать 1.9.2 стандартную рубиновую версию?

ответ

4

Поместите «источник ~/.profile» в файл «.bashrc», чтобы он запускался каждый раз при создании оболочки.

Или, альтернативно, use RVM. Это делает несколько сосуществующих Рубинов ветерок.

+0

RVM для победы! – Jeff

+0

Используйте RVM и не перезаписывайте Ruby по умолчанию. –

+0

+1 для RVM, это потрясающе! – malvim

0

Если «source ~/.profile» работает, попробуйте просто завершить работу и перезапустить терминал или просто открыть новое окно терминала. Если вы используете одно и то же окно терминала, которое использовалось для обновления ruby, у него все еще есть свой старый профиль. Вероятно, вы не хотите, чтобы ваш профиль был из .bashrc .. Если ваш псевдоним изменяется после запуска .bashrc, странные вещи могут произойти с вашей переменной $ PATH, так как вы будете изменять ее дважды.

Если соответствующая строка в вашем профиле сглаживает команду «ruby», она должна работать. Я просто изменил команду ruby ​​в профиле на «alias ruby ​​=« ruby1.9 »и открыл новый терминал. ruby -v теперь возвращает ruby ​​1.9.1p376 (версия 2009-12-07 26041) [i386-darwin10]

5

Если вы установили новый Ruby без использования RVM, важно изменить PATH, чтобы система могла его найти. Вы должны убедиться, что /usr/local/bin до /usr/bin на вашем пути. Вы можете проверить, введя echo $PATH в командной строке. Если нет, то добавьте строку в ваш ~/.bash_profile как:

export PATH=/usr/local/bin:$PATH 

Таким образом, операционная система будет искать локально установленные приложения до системы установленных приложений по умолчанию. Откройте новую оболочку и введите which ruby, и вы увидите, что ваша система указывает на новый Ruby. Сохранение чтения, хотя, потому что понимание того, как инициализируется ваш сеанс, важно для настройки среды разработки.

При использовании BASH в качестве оболочки вы можете использовать ~/.bashrc, ~/.bash_profile и/или ~/.profile в качестве начальных сценариев для инициализации сеанса. В зависимости от того, как запускается оболочка, один из них будет вызываться, но обычно это ~/.bash_profile, за которым следует ~/.profile.

Чтобы сделать мою жизнь проще, я поместил свои команды запуска в ~/.bash_profile, а затем отправлю ~/.bashrc, поставив в нем исходный оператор. Итак, введите команду инициализации RVM в ~/.bash_profile и убедитесь, что на нее указывает ~/.bashrc, что и должно быть сделано по умолчанию.

Сделайте man bash из командной строки и прочитайте об этом в разделе INVOCATION или прочитайте об этом в Wikipedia's BASH section.

Для справки, это команда Wayne говорит поставить как ПОСЛЕДНЕГО исполняемый в файл, чтобы получить РВМ инициализирован:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

Installation страница РВМ имеет больше информации об этом в «Post Установка "и" Устранение неполадок при установке ".

RVM работает очень хорошо, и настройка проста. Самая большая проблема, которую я видел, - это люди, которые не получают вызов RVM в своем сценарии запуска или не имеют перегруженного скрипта, который не позволял команде исполняться. Если вы не можете заставить его работать, вы можете подумать о том, чтобы положить сценарии запуска на страницу пастеризации или добавить его к исходному вопросу и дать понять, что происходит.

Смежные вопросы