Как да превключа системата 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.

информация за rvm

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 (2010-12-25 ревизия 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, за да актуализирате до текущата версия. Само тази стъпка може да коригира всякакви проблеми.

За да превключите от управляван от RVM Ruby обратно към версията, инсталирана на вашия Mac от Apple, използвайте:

rvm system

Това трябва да ви позволи да направите:

which ruby

и получи:

/usr/bin/ruby

or:

ruby -v

и вземете нещо като:

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

За да се върнете към контролиран от RVM Ruby, използвайте: 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 install 1.8.7 на RVM във вашата пясъчна среда и да отидете оттам. В този момент можете да избегнете използването на системната версия на Ruby 1.8.7 и да я оставите сама за приложенията на Apple.

Ако всичко, което искате да направите, е да инсталирате MacVIM, можете да постигнете това, което искате, а именно да кажете на системата, че версиите на RVM НЕ са инсталирани, като временно промените вашата променлива PATH, за да НЕ включват контролираните от RVM Rubies във вашата ~/.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 система, brew инсталирайте macvim. проблемът е, че документът приема, че системата ruby ​​е 187. Мога да видя 187, ако стартирам /usr/bin/ruby -v - person Marrento; 22.12.2011
comment
Ако rvm use 1.8.7 тогава ще използва версия 1.8.7 на Ruby. - 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

Проблемът бяха тези 2 реда по-долу в моя .profile

експортиране на PATH=/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH

експортиране на PATH=/opt/local/bin:/opt/local/sbin:$PATH

Коментирах и двете и пътят до системния рубин се върна към нормалното. Съветът на Тенекиения човек беше от решаващо значение, за да разберем какъв е проблемът.

Имах една руби версия в /usr/local/bin/ruby и друга в /usr/bin/ruby

След като коментирах редовете, mysql спря да работи, като преинсталирах с brew и всичко изглежда работи

person Marrento    schedule 22.12.2011
comment
Причината, поради която MySQL спря да работи, беше, че сте го забранили във вашия PATH: /usr/local/mysql/bin е как системата ще намери MySQL. Преинсталирането на MySQL не беше правилното решение, селективното добавяне на bin директорията на MySQL към вашия път би било правилният начин да продължите. - person the Tin Man; 23.12.2011
comment
Премахнах Mysql, който беше инсталиран в usr/local... Мисля, че проблемът ми започна, защото в някакъв момент използвах Macports или използвах инсталацията на Hivelogic за mysql и ruby. Това беше преди RVM. Сега използвам brew и почистих малко системата си. така че премахването на тези редове от .profile и повторното инсталиране на mysql с brew свърши добра работа - person Marrento; 23.12.2011