Comment utiliser RVM pour gérer les installations et les environnements Ruby sur un VPS

De Get Docs
Aller à :navigation, rechercher

Introduction


Ruby on Rails, ou RoR, est un cadre de développement populaire pour le langage de programmation Ruby qui vous permet de mettre facilement votre application en service avec un minimum de tracas.

Le développement d'applications nécessite souvent d'émuler différents environnements. Différentes versions de Ruby peuvent être nécessaires pour différents projets. Avec les installations conventionnelles, cela entraverait votre capacité à être flexible.

Heureusement, Ruby Version Manager, plus largement connu sous le nom de RVM, vous permet d'installer facilement plusieurs versions contenues de Ruby et de basculer facilement entre elles.

Dans d'autres articles, nous avons expliqué comment installer RVM sur différentes plates-formes :

Cet article supposera que vous avez déjà installé RVM. Nous discuterons de l'utilisation de base de cet utilitaire et de la manière dont vous pouvez gérer correctement vos environnements Ruby.

Syntaxe de base


Si vous avez déjà installé RVM, vous devriez avoir la commande rvm à votre disposition. C'est ainsi que nous appelons RVM.

La syntaxe de base de la commande est :

rvm command_options commande ruby_to_act_on

Il existe également des drapeaux RVM qui peuvent modifier le comportement de RVM, qui sont donnés de la même manière que les options de commande.

Vous pouvez obtenir une liste des commandes disponibles en tapant :

rvm help

Si vous souhaitez obtenir de l'aide sur une commande spécifique, vous pouvez la référencer après "help" pour obtenir des instructions plus détaillées :

commande d'aide rvm

Comment activer l'achèvement des onglets


Nous allons activer la complétion des onglets RVM en insérant la ligne suivante dans notre fichier .bashrc :

[[ -r $rvm_path/scripts/completion ]] && . $rvm_path/scripts/completion

Cela nous permettra de terminer les commandes RVM en tapant deux fois la touche TAB après avoir entré une partie de la commande. Par exemple, nous pouvons taper :

rvm inst

À ce stade, nous pouvons appuyer deux fois sur TAB, et cela se terminera pour :

rvm install

On peut alors finir de taper les paramètres.

Gardez à l'esprit que cela fonctionne également avec des arguments. Si vous passez à une autre version de Ruby, vous pouvez taper :

rvm use

Après avoir tapé un espace, puis deux fois TAB, une liste des versions Ruby disponibles s'affichera.

Comment installer et désinstaller Rubis


Nous pouvons lister tous les Rubis disponibles à installer avec cette commande :

rvm list known

Une fois que vous avez sélectionné le Ruby que vous souhaitez installer, vous pouvez émettre cette commande :

rvm installer ruby_version

Si jamais vous souhaitez désinstaller une version de Ruby, vous pouvez le faire simplement en tapant :

rvm désinstaller ruby_version

Comment changer de rubis


Une fois que vous avez installé quelques versions de Ruby, vous pouvez les lister avec cette commande :

rvm list

rvm rubies

=* ruby-2.0.0-p247 [ x86_64 ]

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

Comme vous pouvez le voir, RVM vous donne un guide pratique pour vous dire quelles sont les versions actuelles et par défaut de Ruby. Dans ce cas, ils ne font qu'un.

Passez à un Ruby différent en tapant :

rvm utilise ruby_version

Définissez un Ruby par défaut à utiliser en utilisant le drapeau --default :

rvm --default utiliser ruby_version

Pour passer au Ruby par défaut, tapez :

rvm default

Pour utiliser la version de Ruby installée sur le système (pas via RVM), vous pouvez spécifier :

rvm use system

Comment utiliser les gemsets


Une façon courante de distribuer du code dans Ruby consiste à utiliser un format appelé gems. Des gemmes peuvent être installées pour étendre les capacités de la distribution principale de Ruby, et il y a souvent des gemmes qui doivent être installées pour que certains programmes fonctionnent correctement.

Conformément à la mission de RVM de fournir des environnements Ruby confinés, il est également possible d'installer des gemmes qui ne sont associées qu'à une seule installation Ruby. RVM appelle cette fonctionnalité gemsets.

Cela signifie que vous pouvez avoir deux versions différentes de la même gemme, ou vous pouvez rendre les gemmes ignorantes des autres gemmes sur le système.

Pour voir les gemsets disponibles pour le Ruby actuel, vous pouvez taper :

rvm gemset list

Si vous avez plus d'une version de Ruby installée, vous pouvez voir tous les gemsets en tapant :

rvm gemset list_all

Par défaut, vous devriez avoir deux gemsets configurés :

  • default : Le gemset qui est appliqué si aucun autre gemset n'est spécifié.
  • global : ce gemset est hérité par tous les autres gemsets utilisés. Cet ensemble n'a généralement pas besoin d'être sélectionné car il sera inclus automatiquement. Vous devez installer les gemmes partagées ici.

Vous pouvez créer un autre gemset facilement. Nous allons créer un gemset appelé "test_project" pour montrer comment cela fonctionne :

rvm gemset create test_project

Si vous préférez copier un gemset actuel vers un nouveau gemset pour exécuter des tests, vous pouvez émettre cette commande :

rvm gemset copy default test_project

Nous pouvons changer le gemset que nous souhaitons utiliser :

rvm gemset use test_project

Nous pouvons également changer la version Ruby et le gemset en même temps. Cela se fait en donnant la version Ruby, suivie du caractère "@", puis en spécifiant le gemset :

rvm use [email protected]_project

Maintenant, nous pouvons installer une gemme Tic-Tac-Toe en exécutant cette commande :

gem install tictactoe -v 0.0.4

Nous pouvons maintenant passer à notre gemset par défaut et installer une version antérieure du même gem :

rvm gemset use default
gem install tictactoe -v 0.0.3

Nous avons maintenant deux versions distinctes de la gemme Tic-Tac-Toe installées et nous pouvons les tester indépendamment en changeant la gemme que nous utilisons.

Si vous ne savez pas avec quel gemset vous travaillez actuellement, cette commande imprimera le gemset actif actuel :

rvm gemset name

Lorsque vous avez fini d'utiliser un gemset, peut-être parce que vos tests sont terminés, vous pouvez vous en débarrasser en exécutant la commande suivante :

rvm gemset delete test_project

Comment configurer les valeurs par défaut


RVM peut être configuré avec des valeurs par défaut à différents niveaux. RVM conserve ses valeurs par défaut dans un fichier ici :

nano ~/.rvm/config/db

Vous pouvez voir ce que RVM utilisera si vous ne lui donnez pas d'instructions spécifiques pour faire autrement.

Remarque : Vous ne devez pas modifier ce fichier. Il est écrasé lors de la mise à niveau de RVM.

Si vous souhaitez remplacer ces paramètres, vous pouvez le faire dans un fichier séparé à :

nano ~/.rvm/user/db

Pour faciliter l'utilisation, vous pouvez copier les paramètres du fichier config/db et les placer dans le fichier user/db pour les modifier facilement.

Comment automatiser votre environnement


Vous pouvez créer des configurations spécifiques au projet qui spécifient la version de Ruby et le gemset à utiliser en créant un fichier .rvmrc dans le répertoire de votre projet.

Cela élimine le besoin de suivre manuellement la version ruby que vous avez active.

Pour créer un environnement spécifique au projet, créez simplement un fichier .rvmrc dans le répertoire de niveau supérieur du projet :

nano .rvmrc

À l'intérieur, il vous suffit de taper "rvm", suivi de la version Ruby, du symbole "@", puis du gemset :

rvm ruby_version @ gemset

C'est tout ce dont vous avez besoin. Vous devrez peut-être accepter la configuration la première fois que vous entrez dans le répertoire.

Assurez-vous que vous avez créé le gemset et installé la version de Ruby que vous spécifiez, sinon vous serez invité à installer et à créer les composants nécessaires chaque fois que vous basculerez dans ce répertoire.

Vous pouvez également inclure tout type de configuration RVM spécifique au projet dans ce même fichier.

Comment mettre à jour RVM


Lorsque RVM sort une nouvelle version, vous pouvez facilement mettre à jour votre installation à partir de l'utilitaire.

Émettez simplement la commande suivante :

rvm get stable

RVM récupérera et installera ensuite la version la plus récente, puis rechargera l'environnement. C'est là que vos configurations seraient effacées si vous les placiez dans config/db au lieu de user/db.

Si vous souhaitez mettre à niveau vers la dernière version disponible (pas nécessairement stable), vous pouvez taper :

rvm get head

Conclusion


Comme vous pouvez le voir, RVM est un outil polyvalent qui peut être utilisé pour gérer des projets et des environnements Ruby entiers. Vous pouvez utiliser RVM pour configurer les conditions de développement, les installations de serveur et même pour déployer votre application.

Si vous travaillez régulièrement avec Ruby, apprendre à créer des environnements Ruby individualisés avec RVM en vaut la peine. Cela peut aider à accélérer votre configuration initiale et peut vous aider à éviter de commettre des erreurs coûteuses.

Par Justin Ellingwood