RVM устанавливает ruby ​​по умолчанию, при открытии нового терминала стирает настройку RVM, возвращается к системе ruby

Я только что получил новый MacBook Pro и попытался настроить RVM в системе. Я установил RVM и установил значение по умолчанию

➜ rvm list default

Default Ruby (for new shells)

ruby-1.9.3-p194 [ x86_64 ]

Моя версия RVM

➜ rvm --version

rvm 1.16.8 (master) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

Я поставил [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session. внизу .bashrc_profile.

Когда я открываю новое окно терминала, я каждый раз делал rvm default для сброса с системного рубина на установленный rvm рубин.

Я провел 3 часа исследований и прочитал более 20 различных блогов по этой проблеме. И у меня до сих пор нет решения этой проблемы.


person MMA    schedule 04.10.2012    source источник
comment
.bashrc_profile source при запуске Терминала?   -  person alex    schedule 04.10.2012


Ответы (4)


Если RVM работает в оболочке, но просто не использует предпочтительный рубин по умолчанию, установите для него следующее для 1.9.3:

rvm --default use 1.9.3

Если RVM не работает, скорее всего, это проблема с оболочкой входа в систему, из-за которой RVM не загружается:

Оболочки входа в систему (обычно когда окно терминала открыто в оконном менеджере X) будут использовать .bash_profile, но интерактивные оболочки без входа в систему ссылаются на .bashrc (вероятно, там, где загружается код оболочки rvm).

Опция 1

Дешёвое исправление, создайте символическую ссылку на них:

ln -s ~/.bashrc ~/.bash_profile

Вариант 2

При желании некоторые терминалы (например, gnome-terminal) также предлагают настройки для принудительного входа в систему для каждого нового сеанса терминала.

Вариант 3

Создайте файл .bash_login со следующим содержимым:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

(Bash проверит наличие ~/.bash_profile, затем ~/.bash_login и, наконец, ~/.profile.)

Дополнительную подробную информацию см. на справочной странице bash.

person Nick    schedule 04.10.2012
comment
Вариант 1: у меня есть .bashrc и .bash_profile, и их нельзя связать. Вариант 2: это Mac OS X 10.8, она стандартная, поэтому так делать нельзя. Вариант 3: создал файл, все равно не работает. Я думаю, что что-то очень сильное перевешивает все, что я делаю. Могу поспорить, что где-то в моих настройках есть ошибка или отсутствуют пути, поэтому изменение невозможно. Нужна дополнительная информация для следующих шагов - person MMA; 04.10.2012
comment
@MMA Вы пробовали rvm repair all посмотреть, сможет ли он это понять? - person Nick; 04.10.2012
comment
@MMA ln -s завершится ошибкой, если путь символической ссылки (в вашем случае .bashrc) уже содержит файл, папку или символическую ссылку. Создайте резервную копию существующего файла .bashrc, затем удалите его, а затем снова попробуйте вариант 1. - person Isaac Betesh; 18.02.2014

Я не знаком с файлом .bashrc_profile. Я думаю, вы имеете в виду, чтобы эта строка была в вашем файле .profile или .bashrc.

person pje    schedule 04.10.2012

Есть что проверить:

  1. зайдите в эмулятор терминала, настройки и включите оболочку входа, иногда требуется использовать /bin/bash --login вместо простого переключения, поставить /bin/login не получится,

  2. один из ~/.bash* файлов может сбрасывать PATH, закомментируйте все PATH=... строки.

После того, как это будет сделано, обязательно откройте новый терминал (не забудьте закрыть его раньше).

person mpapis    schedule 07.10.2012

Используйте этот $ source $(rvm 1.9.3 do rvm env --path) и укажите версию, которую вы хотите использовать каждый раз, когда открываете терминал. После того, как вы вставите это, вам не нужно открывать еще один, потому что он вернется по умолчанию. Итак, если вы хотите использовать v. 2.2.1 $ source $(rvm 2.2.1 do rvm env --path)

person Lilspree    schedule 08.04.2015