Ruby

De Linuxmemo.

Sommaire

Gem

Un Gem est un paquet fournit par la communauté de Ruby.On peut comparer ça en quelque sorte a un "zip", il contient le module à installer, et un descripteur qui est utiliser pour l'installer (et lu automatiquement par RubyGems). Le Gem peut être téléchargé manuellement ou automatiquement via RubyGems.

http://rubygems.org/

http://docs.rubygems.org/read/book/1

http://rubyforge.org/projects/rubygems

  • Pour installer un Gem, il y a deux méthodes :

Si le gem se trouve dans le registre des gems distants , vous devez exécuter :

gem install leNomDeMonGem
gem install msgpack -v 0.4.6

Si vous avez déjà télécharger le fichier .gem, allez dans le répertoire où se trouve le .gem, et exécutez :

gem install leNomDeMon.gem
  • Rechercher un Gem
gem search paterne -r

Le "-r" sert a indiquer a RubyGems de chercher le Gem sur le serveur distant.

  • Désinstaller un Gem
gem uninstall leNomDeMonGem
  • Mettre a jour
gem update leNomDeMonGem

Ou pour mettre à jour tout les gems :

gem update
  • Lister les Gems déjà installés
gem list

Configuration et proxy

Fichier .gemrc

cat ~/.gemrc 
---
:backtrace: false
:bulk_threshold: 1000
:sources:
- http://rubygems.org/
:update_sources: true
:verbose: true
http-proxy: http://172.xx.251.23:8080
https-proxy: https://172.xx.251.23:8080

Gemfile

Gemfile est un fichier d'installation automatique des dépendance gem pour un logiciel ou un script. Il se gère avec Bundler.

gem install bundler

Puis dans le rep où ce trouve le Gemfile

bundle install

Force bundle install to use https:// instead of git:// for GitHub-based gems

git config --global url."https://github.com".insteadOf git://github.com

Ruby Version Manager - RVM

Source: http://cplusn.com/2011/12/installer-rvm-sur-ubuntu/

RVM permet d’installer facilement plusieurs environnement Ruby sur une même machine. Mais il apporte un tel confort dans l’installation de Ruby (et en particulier de la version 1.9.2 qui n’est pas encore dans les dépôts officiels de Canonical) que même pour une seule version de Ruby, je ne saurais plus m’en passer !

Install

Ne pas installer la version des dépôts Ubuntu car obsolète. Installer sous le compte utilisateur, la version rvm.io.

curl -sSL https://get.rvm.io | bash
vim ~\.bashrc
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
source ~/.rvm/scripts/rvm
rvm list

doit vous donner la liste de toutes les version de Ruby disponibles.

Utilisation

  • Pour installer la version 1.9.2 de Ruby, tapez :
rvm install 1.9.2

L’installation de Ruby commence. Lorsqu’elle est terminée tapez :

rvm --default ruby-1.9.2

Rvm doit vous indiquer avoir sélectionné la version 1.9.2 de Ruby, qui sera utilisée par défaut lorsque vous ouvrirez un terminal. Pour vérifier, tapez :

ruby -v

Ruby doit alors vous indiquer son numéro de version. Tout fonctionne ! Pour changer de version de Ruby, installez-en une autre puis utilisez la commande suivante :

rvm use <no_version>

Par exemple rvm use 1.8.7

Pour installer Rails, tapez la commande suivante (en rajoutant -v=x.x.x si vous voulez installer une version précise) :

gem install rails

Bugs

  • Optionnel : si comme moi, vous avez un message d’erreur en installant rails indiquant l’absence de zlib, vous pouvez essayer les commandes suivantes :
rvm pkg install zlib
rvm remove 1.9.2
rvm install 1.9.2

RVM behind a proxy

  • install
apt-get install build-essential
apt-get install curl
apt-get install zlib1g-dev libreadline-dev libssl-dev libxml2-dev
curl -sSL https://get.rvm.io | bash -s stable
Append the following line to your ~/.bashrc file.
 -s "$HOME/.rvm/scripts/rvm"  && . "$HOME/.rvm/scripts/rvm"  # This loads RVM
And then reload your bash environment (or close the terminal window and open a new one).
source ~/.bashrc
rvm requirements
rvm install 1.9.3
rvm use 1.9.3


  • Export your shell environment for http proxy use
export http_proxy="http://hostname:port" or save it to your shell profile. (i.e. ~/.bash_rc)
export http_proxy="http://example.proxy_name.com:80"
  • For multi-user installs, use sudo -E to preserve the proxy settings in your environment:
curl -L https://get.rvm.io | sudo -E bash -s stable
  • Setting git to use a proxy

Set your git tool to use the environment proxy inside you ~/.gitconfig

[http]
proxy = %http_proxy%
  • Using RVM behind a proxy

There are a few ways to use RVM from behind a proxy.

--proxy

You can pass the proxy sever to use directly to RVM:

rvm install X --proxy $domain_or_ip:$port

Using CURL

Set the proxy inside your ~/.curlrc:
proxy = example.proxy_name.com:80

.gemrc

cat .gemrc 
---
:backtrace: false
:bulk_threshold: 1000
:sources:
- http://rubygems.org/
:update_sources: true
:verbose: true
http-proxy: http://172.21.251.23:8080
https-proxy: https://172.21.251.23:8080
Outils personnels