228 votes

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

J'utilise RVM, le Gestionnaire de versions de Ruby pour spécifier une version de Ruby et un ensemble de gemmes pour chacun de mes projets Rails.

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

Après avoir installé RVM 1.19.0, j'obtiens un message

Vous utilisez .rvmrc il faut faire confiance, il est plus lent et il n'est pas compatible avec les autres gestionnaires ruby. pas compatible avec d'autres gestionnaires ruby, vous pouvez passer à .ruby-version en utilisant rvm rvmrc to [.]ruby-version ou ignorez ce 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 pour tous les fichiers exécutés rvm rvmrc warning ignore all.rvmrcs .

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

370voto

mpapis Points 32015

Si votre .rvmrc contient du code shell personnalisé, continuez à utiliser .rvmrc car il vous permet d'inclure n'importe quel code shell.

Si votre seul but est de changer de version de Ruby, alors utilisez .ruby-version ce qui est supporté par d'autres commutateurs de version de Ruby tels que rbenv o chruby . Ce fichier n'a pas non plus besoin d'être mis en confiance puisqu'il s'agit simplement du nom d'une version de Ruby et qu'il ne sera en aucun cas exécuté.

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

Par exemple, si vous avez un simple .rvmrc :

rvm use 1.9.3@my-app

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

1.9.3

Y .ruby-gemset :

my-app

Veillez à retirer le .rvmrc car il a la priorité sur tous les autres fichiers de configuration du projet :

rm .rvmrc

76voto

Sam Backus Points 1214

Une façon rapide et facile de passer de .rvmrc à .ruby-version + .ruby-gemset

rvm rvmrc to .ruby-version

2voto

duykhoa Points 852

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

cd ../your_project (vous êtes dans votre_projet ), et le script dans .rvmrc s'exécutera.

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

Ce qu'il fait, c'est créer 2 fichiers nommés .ruby-version y .ruby-gemset et ajoutez cette ligne

ruby-2.0.0-p451 dans .ruby-version

your_gemset dans .ruby-gemset

Vous pouvez essayer de le faire manuellement si vous voulez :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X