logorvmL’installation suivante décrit une installation complète de Ruby Version Manager sur une distribution Ubuntu 12.04, pour un utilisateur toto (groupe toto). Cette installation permet de mieux gérer les versions de Ruby pour les applications comme Redmine ou Gitlab.

Ainsi pour une installation de Redmine, on peut remplacer l’utilisateur (et le groupe) toto par redmine et pour une installation de Gitlab, toto par *git. *

Sinon une meilleure méthode*encore* est d’installer rvm en multiuser, puis de se logger avec l’utilisateur (redmine, git…) et de faire un rvm user all
*Attention à bien faire l’installation en sudo pour que le bon profil soit utilisé!

*

Installer les paquets

  • git
  • curl..
sudo apt-get install git curl build-essential libssl-dev libmysqlclient-dev

Installation

Créer l’utilisateur (si installation non multi-user):

sudo adduser \ --system \ --shell /bin/sh \ --gecos 'toto' \ --group \ --disabled-password \ --home /home/toto \ toto

*Se loger avec l’utilisateur
*

sudo su - toto -s /bin/bash

Installer rvm:

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

Activer la configuration .bashrc:

source /home//.rvm/scripts/rvm >> .bashrc bash .bashrc

Installer bundler

gem install bundler

Maintenant on demande la vérification des dépendances. Notons que la commande “rvm autolibs read-only” permet de vérifier les dépendances sans demander le “sudo”.

rvm autolibs read-only rvm requirements

Exemple de sortie:

# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following: ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

Quitter l’utilisateur et installer ce qui est nécessaire:

exit sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

Redevenir toto:

sudo su - toto -s /bin/bash

Vérifier les versions de Ruby:

rvm list known `source ~/.rvm/scripts/rvm`
type rvm | head -n 1

Si la sortie de la dernière commande est l’équivalent de rvm is a function, alors nous avons une installation complète de rvm.

Installer la version de ruby que l’on veut. Par exemple:

rvm install 1.9.3 rvm use --default 1.9.3