OSX Lion Новый bash сеанс rvm default ruby ​​не используется

Я использую OSX Lion. Я установил RVM и поместил эту строку в мой файл .bash_profile.

[[ -s "/Users/Anand/.rvm/scripts/rvm" ]] && source "/Users/Anand/.rvm/scripts/rvm"  # This loads RVM into a shell session.

Я установил ruby-1.9.2-p290 и установил его как rvm ruby ​​по умолчанию с помощью этой команды:

rvm use --default ruby-1.9.2-p290

И когда я проверил ruby-v

ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.2.0]

Проблема заключается в том, что каждый раз, когда я открываю новое окно терминала или вкладку, рубин по умолчанию не устанавливается. Системный рубин вместо этого используется. ruby -v дает следующее:

ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.3.2]

Это также происходит при чтении файла .rvmrc в проекте ruby. Когда я вхожу в проект, и когда открывается новая вкладка, он попадает в каталог проекта, но не устанавливает ruby ​​в соответствии с .rvmrc в этом проекте. Что мне делать, чтобы это исправить?

Ответ 1

У меня возникла проблема. Это было с $PATH. Я должен поместить связанную с rvm строку в .bash_profile в качестве последней строки.

Старый .bash_profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

source $HOME/Dropbox/dotfiles/bashrc
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
export PATH=/Library/PostgreSQL/9.0/bin:$PATH

Новый .bash_profile

source $HOME/Dropbox/dotfiles/bashrc
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
export PATH=/Library/PostgreSQL/9.0/bin:$PATH

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

И это сработало. Новые окна и новые вкладки корректно открываются с рубином по умолчанию i.e, ruby ​​1.9.2

Ответ 2

Я просто исправил эту самую проблему. Оказывается, это был путь.

попробуйте это

➜  ~  which ruby

если вы получаете /usr/bin/ruby, путь к исходной рубиновой установке затеняет установку по умолчанию в вашей установке RVM.

Я добавил путь к RVM до пути (см. ниже) в /usr/bin/ruby ​​и работает как ожидалось.

Я использую zsh как свою оболочку, поэтому мне пришлось добавить это вручную в мой .zshrc

export PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting<br />
export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

если вы используете bash

Вероятно, ваш .bashrc выглядит следующим образом:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

измените его на это:

PATH=$HOME/.rvm/bin:$PATH # Add RVM to PATH for scripting

и убедитесь, что у вас .bash_profile есть это:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

и вам должно быть хорошо идти.

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

Ответ 3

Вопрос №1:

Команда, указанная в списке, - это "-default" и "use".

 rvm --default use ruby-1.9.2-p290

Проверьте, действительно ли установлено значение по умолчанию:

$ rvm list default

Default Ruby (for new shells)

   ruby-1.9.2-p290 [ x86_64 ]

Другие советы по устранению неполадок в случае, если это не сработает. Вы уверены, что загружен файл профиля bash? Попробуйте просто "источник" /Users/Anand/.rvm/scripts/rvm 'вместо проверки, возможно, что-то не так с этим путем? Имя пользователя начинается с заглавной буквы?

Вопрос №2: Вы должны cd в директорию с файлом .rvmrc явно для магии. Я полагаю, что запуск консоли в определенном месте не вызывает rvm. Я сталкиваюсь с этим при использовании pushd и popd для переключения между папками.

Ответ 4

Попробуйте это, если rvm --default use не работает:

sudo rvm alias create default 1.9.2