RVM

From DiLab
Revision as of 18:31, 28 December 2010 by Leo (talk | contribs)
Jump to: navigation, search

Ruby Version Manager - allows switching between versions of ruby, gems, rails etc.

RVM installation

First install RVM (Ruby version manager). This will download the source and compile the necessary tools, and will also allow to switch between different versions, for example, ruby-1.8 and ruby-1.9.2.

sudo apt-get install curl git-core
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

RVM tells you to update your .bashrc. Add the following at the end of the file:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

RVM is also concerned if you have any 'return' in your .bashrc script. Replace it using if and fi as in the RVM comments after its installation. Comment the first line below and add the second. Then acc fi at the end of the file.

# [ -z "$PS1" ] && return
if [[ -n "$PS1" ]] ; then

Configuration management

How to see the current configuration

rvm use

How to switch to the default configuration

rvm use system

How to switch to another (1.9.2@rails3) configuration

rvm use 1.9.2@rails3

How to create a new (1.9.2) configuration with a (rails3) gemset

rvm use --create 1.9.2@rails3


Example: set up Ruby 1.9.2 and Rails 3

Install Ruby 1.9.2

rvm 1.9.2

Create Rails 3 gemset and switch to it:

rvm use --create 1.9.2@rails3

Install gems

Sqlite3

sudo apt-get install sqlite3 libsqlite3-dev
gem install sqlite3-ruby

Mysql

sudo apt-get install mysql-server libmysqlclient15-dev
gem install mysql 

Postgres

(note, the newer gem is "pg", not "postgres"!)

sudo apt-get install postgresql-server-dev-8.4
gem install pg

Rails 3

gem install rails
rails --version

...or without "ri" and "rdoc" documentation (faster)

gem install rails --no-ri --no-rdoc


Other gems as needed

gem install ...


Test and Done

Test your installation by making a test application

rails new tetsApp
cd testApp
rails server

Now check the http://localhost:3000 in your browser. Rail on.


More about Rails

More about Rails3