Как переключить систему Ruby обратно на 1.8.7 с помощью RVM?

Если я бегу:

rvm system
ruby -v

Я получил:

ruby-192...

Мне нужна системная версия Ruby 1.8.7.

Ruby 1.9.2 был установлен с помощью RVM. Я все еще вижу Ruby 1.8.7, если запускаю /usr/bin/ruby -v.

информация о РВМ

system:

  system:
    uname:       "Darwin MacML.local 11.2.0 Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)"
    zsh:         "/bin/zsh => zsh 4.3.11 (i386-apple-darwin11.0)"

  rvm:
    version:      "rvm 1.10.0 by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.beginrescueend.com/]"

  homes:
    gem:          "not set"
    ruby:         "not set"

  binaries:
    ruby:         "/usr/local/bin/ruby"
    irb:          "/usr/local/bin/irb"
    gem:          "/usr/local/bin/gem"
    rake:         "/usr/local/bin/rake"

  environment:
    PATH:         "/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/Users/ML/.rvm/bin"
    GEM_HOME:     ""
    GEM_PATH:     ""
    MY_RUBY_HOME: ""
    IRBRC:        ""
    RUBYOPT:      ""
    gemset:       ""

person Marrento    schedule 21.12.2011    source источник
comment
У вас есть несколько переменных, которые не установлены, и ваш PATH не соответствует тому, как RVM будет его инициализировать. Попробуйте открыть новую оболочку, перезапустите rvm info в этом окне и сравните ее с этой. Это должно выглядеть совсем иначе, если RVM инициализируется правильно. Также обратите внимание, что у вас есть Ruby в /usr/local/bin, который не является стандартным для MacOS.   -  person the Tin Man    schedule 22.12.2011
comment
Попробуйте rvm system;which ruby;/usr/local/bin/ruby -v;/usr/bin/ruby -v. Я думаю, что ваш /usr/local/bin/ruby - это 1.9.2 и сбивает вас с толку.   -  person the Tin Man    schedule 22.12.2011
comment
Также будет полезен вывод rvm list   -  person Mark Thomas    schedule 22.12.2011
comment
/usr/local/bin/ruby -v =› ruby ​​1.9.2p136 (25 декабря 2010 г., редакция 30365) [x86_64-darwin10.4.0] --------- /usr/bin/ruby -v = › ruby ​​1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0] --------- так как мне удалить 1.9.2??   -  person Marrento    schedule 22.12.2011
comment
так как мне удалить 1.9.2 ??, зависит от того, как вы его установили, и хотите ли вы постоянное удаление или временное. Похоже, вы взламываете свою систему, не понимая, что делаете. Было бы полезно, если бы вы добавили, как 1.9.2 попала в вашу систему в /usr/local/bin. Добавьте информацию к своему вопросу, отредактировав ее и добавив. Пожалуйста, не добавляйте его в комментарии, потому что нам будет слишком сложно его найти.   -  person the Tin Man    schedule 23.12.2011


Ответы (5)


Во-первых, используйте rvm info и убедитесь, что сообщаемые значения соответствуют вашим ожиданиям.

На данный момент RVM имеет версию 1.10.0. Если rvm -v показывает меньший номер версии, запустите rvm get head;rvm reload для обновления до текущей версии. Один только этот шаг может решить все виды проблем.

Чтобы переключиться с Ruby, контролируемого RVM, обратно на версию, установленную Apple на вашем Mac, используйте:

rvm system

Это должно позволить вам сделать:

which ruby

и получить:

/usr/bin/ruby

or:

ruby -v

и получить что-то вроде:

ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]

Чтобы вернуться к Ruby, контролируемому RVM, используйте: rvm 1.9.2 или rvm default, если вы настроили Ruby по умолчанию.

Если вы не установили Ruby по умолчанию, я рекомендую вам сделать это, используя: rvm 1.9.2 --default, заменив любую версию Ruby по умолчанию.

Вам НЕ нужно устанавливать версию 1.8.7 под контролем RVM, если вы этого не хотите, однако, если вы намерены изменить версию 1.8.7, принадлежащую системе, путем добавления или изменения гемов, делайте это осторожно. Эта версия была установлена ​​для использования Apple, и вы используете ее, и изменения могут повлиять на использование определенных приложений или будущих приложений, установленных Apple.

Если вам нужно добавить драгоценные камни или настроить 1.8.7, я бы рекомендовал использовать RVM rvm install 1.8.7 в вашей песочнице и идти оттуда. В этот момент вы можете отказаться от использования системной версии Ruby 1.8.7 и оставить ее в покое для приложений Apple.

Если все, что вы хотите сделать, это установить MacVIM, вы можете добиться того, чего хотите, а именно сообщить системе, что версии RVM НЕ установлены, путем временной настройки вашей переменной PATH, чтобы НЕ включать Rubies, контролируемые RVM, в ваш каталог ~/.rvm.

Вы можете сделать это, отредактировав PATH или временно изменив ~/.bash_profile или ~/.bashrc, в зависимости от того, в каком из них есть инициализация RVM. Откройте новую оболочку, выполните шаги установки, затем верните файл.

Есть много способов добраться туда, куда вы хотите.

person the Tin Man    schedule 21.12.2011
comment
Я сделал шаги, описанные выше ... Я все еще не могу вернуться к системной версии, установленной ruby. Когда я запускаю ruby ​​-v, я все еще вижу 1.9.2 вместо 1.8.7. - person Marrento; 22.12.2011
comment
@Marrento, запустите rvm info и добавьте вывод к исходному вопросу, пожалуйста. - person the Tin Man; 22.12.2011

Может, стоит попробовать: rvm use system?! Или rvm use system --default использовать систему Ruby каждый раз.

person Oleksandr Skrypnyk    schedule 21.12.2011
comment
Когда я пробую это, а затем ruby ​​-v, он показывает 192 как мою систему... но моя система 187, как я вижу, запускаю ли я /usr/bin/ruby -v - person Marrento; 22.12.2011

Сначала нужно установить 1.8.7:

rvm install 1.8.7

Затем вам нужно сообщить RVM, что вы хотите использовать его по умолчанию:

rvm use 1.8.7 --default
person Ryan Bigg    schedule 21.12.2011
comment
Не совсем то, что я хочу сделать .... и для справки, у меня есть 187, установленный через rvm. Я хочу, чтобы моя система ruby ​​вернулась к 187, которая поставляется с OSX. - person Marrento; 22.12.2011
comment
Тогда что ты хочешь сделать? Если система Ruby 1.9.2, вы ничего не должны сделать, чтобы изменить ее. Используйте RVM и установите 1.8.7 по умолчанию. Это самый простой способ. - person Ryan Bigg; 22.12.2011
comment
У меня проблемы с установкой macvim... он плохо компилируется с 192... в документе говорится, что нужно запустить систему rvm, варить и установить macvim. проблема в том, что документ предполагает, что система ruby ​​​​это 187. Я могу увидеть 187, если я запускаю /usr/bin/ruby -v - person Marrento; 22.12.2011
comment
Если вы rvm use 1.8.7, то он будет использовать версию Ruby 1.8.7. - person Ryan Bigg; 22.12.2011
comment
Так что просто install 1.8.7 с RVM и use его. - person Oleksandr Skrypnyk; 22.12.2011
comment
Он не компилируется с версией rvm... поэтому в документации в качестве первого шага используется система rvm. Я пробовал с RVM, и это не сработало. - person Marrento; 22.12.2011

Я не уверен, почему система у вас работает неправильно, но установка 1.8.7 и ее использование должны устранить ошибку компиляции для macvim. Вместо «rvm system» запустите

rvm install 1.8.7
rvm use 1.8.7

Это должно решить это.

person aaginskiy    schedule 22.12.2011

Проблема заключалась в этих двух строках ниже моего .profile.

экспорт PATH=/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH

экспорт PATH=/opt/local/bin:/opt/local/sbin:$PATH

Я прокомментировал оба, и путь к системному рубину вернулся к норме. Совет Железного Человека имел решающее значение для определения проблемы.

У меня была одна версия ruby ​​в /usr/local/bin/ruby, а другая в /usr/bin/ruby.

После того, как я прокомментировал строки, mysql перестал работать, я переустановил brew, и все, кажется, работает

person Marrento    schedule 22.12.2011
comment
Причина, по которой MySQL перестала работать, заключалась в том, что вы отключили ее в своем PATH: /usr/local/mysql/bin система будет находить MySQL. Переустановка MySQL не была правильным решением, выборочное добавление каталога MySQL bin к вашему пути было бы правильным способом продолжить. - person the Tin Man; 23.12.2011
comment
Я удалил Mysql, который был установлен в usr/local... Думаю, моя проблема началась из-за того, что в какой-то момент я использовал Macports или использовал установку Hivelogic для mysql и ruby. Это было до РВМ. Сейчас я использую brew и немного почистил свою систему. поэтому удаление этих строк из .profile и переустановка mysql с помощью brew сработали хорошо. - person Marrento; 23.12.2011