Utilisez le fichier rvmrc ou ruby-version pour définir un gemset de projet avec RVM?

J’utilise RVM, le Ruby Version Manager pour spécifier une version Ruby et un ensemble de gemmes pour chacun de mes projets Rails.

J’ai un fichier .rvmrc pour sélectionner automatiquement une version Ruby et gemset chaque fois que je cd dans un répertoire de projet.

Après avoir installé RVM 1.19.0, je reçois un message

Vous utilisez .rvmrc , cela demande de la confiance, il est plus lent et il n’est pas compatible avec les autres gestionnaires ruby, vous pouvez passer à .ruby-version utilisant rvm rvmrc to [.]ruby-version ou ignorer ces avertissements avec rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc , .rvmrc continuera à être le fichier de projet par défaut dans RVM 1 et RVM 2, pour ignorer l’avertissement de tous les fichiers exécutés rvm rvmrc warning ignore all.rvmrcs .

Dois-je continuer à utiliser mon fichier .rvmrc ou dois-je passer à un fichier .ruby-version ? Quel est optimal? Quelles sont les ramifications?

Si votre fichier .rvmrc contient un code shell personnalisé, continuez à utiliser .rvmrc car il vous permet d’inclure tout code shell.

Si votre seul objective est de changer de version de Ruby, utilisez alors la .ruby-version prise en charge par d’autres commutateurs de version Ruby tels que rbenv ou chruby . Ce fichier ne nécessite pas non plus de confiance car il ne s’agit que du nom d’une version Ruby et ne sera exécuté d’aucune manière.

Si vous utilisez la .ruby-version vous pouvez inclure @gemset dans le fichier, mais cela ne sera pas compatible avec les autres commutateurs. Pour maintenir la compatibilité, utilisez le nom gemset dans un fichier séparé .ruby-gemset qui est ignoré par les autres outils (il ne fonctionne qu’avec la .ruby-version ) .

Par exemple, si vous avez un .rvmrc simple:

 rvm use 1.9.3@my-app 

Il peut être transformé en .ruby-version :

 1.9.3 

Et .ruby-gemset :

 my-app 

Veillez à supprimer le fichier .rvmrc car il est prioritaire par rapport aux autres fichiers de configuration du projet:

 rm .rvmrc 

Moyen rapide et facile de passer de .rvmrc à .ruby-version + .ruby-gemset

 rvm rvmrc to .ruby-version 

Si vous voulez créer le .ruby-version et .ruby-gemset , vous pouvez utiliser les commandes suivantes:

 rvm use 2.1.1@nancy --create rvm --create --ruby-version 2.1.1@nancy 

Vous pouvez essayer les deux. Accédez à la racine de votre projet, créez un fichier .rvmrc ( touch .rvmrc ), puis modifiez le rvm use 2.0.0-p451@your_gemset (votre version de Ruby et votre nom de gemset). Après avoir enregistré ce fichier, vous pouvez taper cette commande:

cd ../your_project (vous êtes dans votre répertoire_projet), et le script dans .rvmrc sera exécuté.

Le RVM recommande d’utiliser la version ruby. Vous pouvez exécuter cette commande pour passer de .rvmrc à .ruby-version

rvm rvmrc to .ruby-version

Qu’est-ce qu’il fait est de créer 2 fichiers nommés .ruby-version et .ruby-gemset et append cette ligne

ruby-2.0.0-p451 en version .ruby

your_gemset dans .ruby-gemset

Vous pouvez essayer de le faire manuellement si vous voulez 🙂

Installer rvm en utilisant:

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

Installez différentes versions de ruby:

 rvm install 1.8.7 rvm install 1.9.2 

Passer à la version spécifique de Ruby. Par exemple, 1.8.7:

 rvm use 1.8.7 

Pour créer une gemme:

 rvm gemset create project_gemset 

Et pour utiliser un gemset:

 rvm gemset use project_gemset