RVM (aka Ruby Version Manager) is a very useful tool. It allows you to install and manage several different versions and implementations of Ruby on one computer, including the ability to manage different sets of RubyGems one each.
Installing RVM (on a Mac)
# install development version
\curl -sSL https://get.rvm.io | bash
# stable RVM with latest ruby
\curl -sSL https://get.rvm.io | bash -s stable --ruby
# stable RVM with latest rails
\curl -sSL https://get.rvm.io | bash -s stable --rails
Setting a new gemset for a project
1) Install ruby in the project directory
$ rvm install 2.1.2
# list the version of ruby in use, verify the version installed
$ ruby -v
2) Create a gemset with the a particular version of ruby
$ rvm list
# generic syntax for creating a gemset
$ rvm use ruby_version@project_name --create
3) Real life example:
$ rvm gemset list # to verify things went well)
$ gem install rails # you install rails into that gemset
$ rails -v # to verify that rails installation went well
# ‘rvm use’ sets the gemset in use
Dealing with incompatible versions of Ruby and Rails
Oh Noes ... time to reverse the process and de-install rails because it’s not compatible with the latest version of ruby at the time of this posting.
1) Uninstall rails in the project directory
$ gem uninstall rails -v 4.1.1
$ gem uninstall railties -v 4.1.1 # need to uninstall also
2) Uninstall ruby versions that are not compatible
$ rvm remove 2.1.2p95
3) Delete the gemset
$ rvm gemset delete super_tictactoe
Steps to update to a different version of Ruby and Rails
In this example we will be installing Ruby 2.1.1 and Rails 4.1.0.
1. Check for a gemset and delete if needed
$ rvm gemset list
$ rvm gemset delete <gemset name>
$ rvm gemset delete <gemset name>
2. install desired version of ruby
$ rvm install 2.1.1
3. Create a sticky gemset
# check for hidden files
$ ls -lpa
# delete hidden RMV files if they exist
$ rm .ruby*
$ rm .ruby*
$ rvm use ruby-2.0.0-p353@superTTT --create --ruby-version
$ gem install rails
The --ruby-version argument creates two files, .ruby-version and .ruby-gemset, that set RVM every time we cd to the project directory. Without these two hidden files you need to enter the following command every time you work on your project if you close the console.
4. Install specific version of rails
$ gem install rails -v 4.1.0
5. Update the project Gemfile
$ gem 'rails', '4.1.0'
$ ruby "2.1.1"
6. Run bundle update to fix conflicts
$ bundle update
7. Read the output from 'bundle update' and update your .gemfile accordingly
∴ bundle update
Fetching gem metadata from https://rubygems.org/..........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Installing rake 10.3.1 # update entry in gemfile
............
Installing coffee-script 2.2.0 # update entry in gemfle
Using railties 4.1.0 (was 4.0.2) # using existing gem, no update needed
Installing coffee-rails 4.0.1 # update entry in gemfile
Your bundle is updated!
Some other useful info
To install older versions of Ruby
$ rvm list known
# lists all rubies that can still be installed
# may need CC=/usr/bin/gcc to get the binary to compile
$ rvm install 1.8.7 # pick version you want to install
Upgrading RVM
$ rvm get stable
Data for troubleshooting:
$ rvm info # verbose listing of the ruby dev environment
$ gem list -dl # lists all the gems installed
No comments:
Post a Comment