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

Я использую OS X 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. Когда я нахожусь внутри проекта и когда открывается новая вкладка, я попадаю в каталог проекта, но не устанавливаю рубин в соответствии с .rvmrc в этом проекте. Что мне делать, чтобы исправить это?

Просто смутно связанное примечание: для управления несколькими версиями ruby ​​на одном компьютере также рассмотрите rbenv.   —  person Anand    schedule 15.01.2012

разместил мое решение ниже. возникла проблема с $PATH   —  person Anand    schedule 16.01.2012

См. также:  Не удается установить паркет через pip или conda на macOS Big Sur
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 4
  1. Anand

    Вопрос 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: Вы должны явно перейти в каталог с файлом .rvmrc, чтобы произошло волшебство. Я полагаю, что запуск консоли в определенном месте не запускает rvm. Я сталкиваюсь с этим при использовании pushd и popd для переключения между папками.

    Я попытался найти — source /Users/Anand/.rvm/scripts/rvm .. все еще ruby -v дает ruby-1.8.7. Даже пытался снова запустить bash_profile, source .bash_profile, но снова ruby -v дает ruby-1.8.7 person Anand; 16.01.2012

  2. Anand

    У меня проблема. Это было с $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"
    

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

    ДА. Наконец, этот (безумно неочевидный) ответ решил эту проблему. Большое спасибо! person Anand; 18.08.2013

  3. Anand

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

    sudo rvm alias create default 1.9.2
    
  4. Anand

    Я только что исправил эту же проблему. Выяснилось, что проблема в пути.

    попробуй это

    ➜  ~  which ruby
    

    если вы получаете /usr/bin/ruby, путь к исходной установке 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" 
    

    если вы используете баш

    Ваш .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 при поиске любой команды, но у меня это никогда не вызывало никаких проблем.

    Я использую зш. Когда я следую вашим инструкциям, при открытии нового терминала используется правильная версия ruby. Однако возникает несколько новых проблем: сервер rails не может быть запущен (ошибка: dyld: сбой привязки отложенного символа: символ не найден: _rb_intern2), установка пакета больше не работает. Gem bundler не установлен, сначала запустите gem install bundler. Как это можно исправить? person Anand; 22.01.2013

    murze — я предполагаю, что вам нужно переустановить свои драгоценные камни с новой версией рубина. загляните в свой каталог ~/.rvm/gems и посмотрите, что там… вот где их должна искать ваша новая версия ruby. person Anand; 24.01.2013

    Большое спасибо, этот ответ помогает мне! person Anand; 24.06.2013

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: