How do I update Ruby-interpreters with RVM?

RubyRvm

Ruby Problem Overview


I installed RVM with a few versions of Ruby-interpreters some time ago. How I can to update it, because new versions are already released?

I found only one way: rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1, but my gems are lost. Can I update branches time to time? I haven't found any tips in the documentation.

Ruby Solutions


Solution 1 - Ruby

Use the rvm upgrade 1.9.2-preview1 1.9.2-rc1 command or watch this screencast

Solution 2 - Ruby

[Edit: rvm has a new command to upgrade-- you likely want to use the answer by andy318]

AFAIK, there is no automatic way to do this at the moment, but something like this enables you to keep your gems:

 rvm use 1.9.2-preview1
 rvm gemset export
 rvm install 1.9.2-rc1
 rvm use 1.9.2-rc1
 rvm gemset import
 rvm remove 1.9.2-preview1

Now, for automating updates, you would have to detect version changes, that is easy, as you can simply use the return value of rvm use 1.9.2. Finding out what the new version is (1.9.2-rc1) is unnecessary, as it is aliased as 1.9.2. The trick is to find the latest installed version of 1.9.2. You could do something like this in a cron job:

# make sure you source rvm first
rvm update --head
rvm reload
if [ ! rvm use 1.9.2 ]; then
  for ruby_version in `rvm list strings`; do
    # find the latest version of 1.9.2
    case $ruby_version in
      ruby-1.9.2-*) latest192=$ruby_version;;
    esac
  done
  rvm use $latest192
  rvm gemset export 192.gems
  rvm install 1.9.2
  rvm use 1.9.2
  rvm gemset import 192
  rvm remove $latest192
fi

Did not try that, but I have similar code in my update script. I also slipped in a gem update and other stuff.

Feel free to visit the #rvm IRC channel on Freenode.

Solution 3 - Ruby

Current rvm version provides an easier way to do this. The 'upgrade' option will migrate gem sets, wrappers and environment files -

$ rvm upgrade 1.9.2-p136 1.9.2-p180

To find out if there is a more recent stable version of a ruby implementation for you to upgrade to, first get the latest version of RVM and then enumerate the known versions of Ruby.

$ rvm get stable
$ rvm list known

You can compare this the ruby versions installed on your system

$ rvm list rubies

Solution 4 - Ruby

you can install latest rvm and ruby by :

$ \curl -L https://get.rvm.io | bash -s stable --ruby

and check all the ruby version with stability

$ rvm list known

can also check details here : http://www.ruby-lang.org/en/downloads/

$ rvm install ruby 2.0.0-p247

Use when you want to download specific version or know this is stable.

Solution 5 - Ruby

There's a fantastic RVM GUI called JewelryBox that I use to manage my Ruby versions

http://jewelrybox.unfiniti.com

Solution 6 - Ruby

I think that is:

rvm all do gemset update

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmystdeimView Question on Stackoverflow
Solution 1 - RubynihiqueView Answer on Stackoverflow
Solution 2 - RubyKonstantin HaaseView Answer on Stackoverflow
Solution 3 - Rubyandy318View Answer on Stackoverflow
Solution 4 - RubyJigar BhattView Answer on Stackoverflow
Solution 5 - RubyAdam WaiteView Answer on Stackoverflow
Solution 6 - RubycrsuarezfView Answer on Stackoverflow