Ruby

De Wiki de Jordan LE NUFF
Sauter à la navigation Sauter à la recherche

Présentation

Ruby est un langage open-source dynamique qui met l'accent sur la simplicité et la productivité. Sa syntaxe élégante en facilite la lecture et l'écriture.

Plus d'informations sur le site de l'éditeur :

Installation

Il existe plusieurs manières d’installer Ruby :

  • Sur un système d’exploitation de type UNIX, utiliser le gestionnaire de paquets du système est la façon la plus simple de procéder. Toutefois, la dernière version de Ruby pourrait ne pas être disponible.
  • Un Installateur peut être utilisé pour installer une ou plusieurs versions de Ruby. Il existe aussi un installateur pour Windows.
  • Des Managers aident à basculer d’une version de Ruby à une autre sur le système.
  • Et finalement, il est aussi possible compiler Ruby à partir des sources.

Manager

RVM ("Ruby Version Manager") permet d’installer et de gérer plusieurs installations de Ruby sur le système. Il peut aussi gérer différent gemsets. Il est disponible pour les systèmes d’exploitation macOS, Linux, ou autres systèmes basés sur UNIX.

Plus d'informations sur : http://rvm.io/.

Se connecter en SSH sur le serveur désiré et installer la clé GPG de RVM :

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Exemple de retour :

gpg: key 105BD0E739499BDB: 6 signatures not checked due to missing keys
gpg: key 105BD0E739499BDB: public key "Piotr Kuczynski <piotr.kuczynski@gmail.com>" imported
gpg: key 3804BB82D39DC0E3: 105 signatures not checked due to missing keys
gpg: key 3804BB82D39DC0E3: public key "Michal Papis (RVM signing) <mpapis@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 2
gpg:               imported: 2

Installer RVM avec la commmande :

curl -sSL https://get.rvm.io | bash -s stable

Exemple de retour :

Downloading https://github.com/rvm/rvm/archive/1.29.8.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.8/1.29.8.tar.gz.asc
gpg: Signature made Wed May  8 16:14:49 2019 CEST
gpg:                using RSA key 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: Good signature from "Piotr Kuczynski <piotr.kuczynski@gmail.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 7D2B AF1C F37B 13E2 069D  6956 105B D0E7 3949 9BDB
GPG verified '/usr/local/rvm/archives/rvm-1.29.8.tgz'
Creating group 'rvm'
Installing RVM to /usr/local/rvm/
Installation of RVM in /usr/local/rvm/ is almost complete:

  * First you need to add all users that will be using rvm to 'rvm' group,
    and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

  * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
  * Please do NOT forget to add your users to the rvm group.
     The installer no longer auto-adds root or users to the rvm group. Admins must do this.
     Also, please note that group memberships are ONLY evaluated at login time.
     This means that users must log out then back in before group membership takes effect!
Thanks for installing RVM 🙏
Please consider donating to our open collective to help us maintain RVM.

👉  Donate: https://opencollective.com/rvm/donate

Ajouter un utilisateur au groupe RVM (par exemple : jenkins) :

usermod -aG rvm jenkins

Ruby

Activation autolibs

Pour savoir si RVM est paramétré pour installer automatiquement les dépendances manquantes, lancer la commande :

rvm autolibs status

Exemple de retour :

---
value: 4
number: 4
runner: opensuse
description: Allow RVM to use package manager if found, install missing dependencies, install package manager (only OS X).

Si le retour est 3 ou 4, les dépendances manquantes seront automatiquement installées. En cas de retour tels que 0, 1 ou 2, lancer la commande suivante pour activer l'installation automatique des dépendances manquantes :

rvm autolibs enable

Plus d'informations sur https://rvm.io/rvm/autolibs.

Installation Ruby

Pour voir les version de Ruby disponibles à l'installation, taper la commande suivante :

rvm list known|grep \\[ruby

Exemple de retour :

[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.6]
[ruby-]2.5[.5]
[ruby-]2.6[.3]

Pour installer la version désirée (par exemple, la dernière, la 2.6.3), lancer la commande suivante :

rvm install 2.6.3

Si des erreurs s'affichent, elles sont accompagnées de la localisation d'un fichier de log. Le consulter pour prendre connaissance du détail des erreurs et les corriger. Relancer ensuite l'installation.

Exemple de retour avec erreur :

Searching for binary rubies, this might take some time.
No binary rubies available for: opensuse/20190409/x86_64/ruby-2.6.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for opensuse.
Installing requirements for opensuse.
Updating system..
Installing required packages: libffi-devel, libopenssl-devel, sqlite3-devel, libyaml-devel..
Error running 'requirements_opensuse_libs_install libffi-devel libopenssl-devel sqlite3-devel libyaml-devel',
please read /usr/local/rvm/log/1562143182_ruby-2.6.3/package_install_libffi-devel_libopenssl-devel_sqlite3-devel_libyaml-devel.log
Requirements installation failed with status: 4.

Exemple de retour sans erreur :

Searching for binary rubies, this might take some time.
No binary rubies available for: opensuse/20190409/x86_64/ruby-2.6.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for opensuse.
Requirements installation successful.
Installing Ruby from source to: /usr/local/rvm/rubies/ruby-2.6.3, this may take a while depending on your cpu(s)...
ruby-2.6.3 - #downloading ruby-2.6.3, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13.8M  100 13.8M    0     0  5694k      0  0:00:02  0:00:02 --:--:-- 5694k
ruby-2.6.3 - #extracting ruby-2.6.3 to /usr/local/rvm/src/ruby-2.6.3.....
ruby-2.6.3 - #configuring.......................................................................
ruby-2.6.3 - #post-configuration..
ruby-2.6.3 - #compiling.............................................................................................
ruby-2.6.3 - #installing..................
ruby-2.6.3 - #making binaries executable..
ruby-2.6.3 - #downloading rubygems-3.0.4
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  862k  100  862k    0     0  3904k      0 --:--:-- --:--:-- --:--:-- 3904k
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.6.3 - #extracting rubygems-3.0.4.....
ruby-2.6.3 - #removing old rubygems........
ruby-2.6.3 - #installing rubygems-3.0.4.........................................
ruby-2.6.3 - #gemset created /usr/local/rvm/gems/ruby-2.6.3@global
ruby-2.6.3 - #importing gemset /usr/local/rvm/gemsets/global.gems................................................................
ruby-2.6.3 - #generating global wrappers.......
ruby-2.6.3 - #gemset created /usr/local/rvm/gems/ruby-2.6.3
ruby-2.6.3 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.6.3 - #generating default wrappers.......
ruby-2.6.3 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.6.3 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri

Sélection version

Pour voir les versions installées et celle par défaut, lancer la commande :

rvm list

Exemple de retour :

=> ruby-2.5.5 [ x86_64 ]
 * ruby-2.6.3 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

Dans l'exemple ci-dessus, on peut constater que la version de Ruby en cours d'utilisation est la 2.5.5 et que la version par défaut lors de l'ouverture d'une session est la 2.6.3.

N.B. : lors de l'installation d'une version de Ruby, cette version devient celle en cours sur la session ouverte.

Pour changer de version et en sélectionner une autre (par exemple : la 2.6.3), lancer la commande :

rvm use 2.6.3

Pour voir quelle version est en cours d'utilisation, lancer :

rvm use

Pour basculer sur la version par défaut, lancer :

rvm default