web-dev-qa-db-fra.com

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 gems pour chacun de mes Rails projets.

J'ai un fichier .rvmrc pour sélectionner automatiquement une version Ruby et un 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, il faut faire confiance, il est plus lent et n'est pas compatible avec les autres gestionnaires Ruby, vous pouvez passer à .Ruby-version à l'aide de rvm rvmrc to [.]Ruby-version ou l'ignorer. avertissements avec rvm rvmrc warning ignore /Users/userName/code/railsapps/Rails-prelaunch-signup/.rvmrc, .rvmrc continuera à être le fichier 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.

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

228
Daniel Kehoe

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

Si votre seul objectif est de changer de version de Ruby, utilisez alors .Ruby-version qui est pris en charge par d'autres commutateurs de version de 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é en aucune manière.

Si vous utilisez .Ruby-version, vous pouvez inclure @gemset dans le fichier, mais celui-ci ne sera pas compatible avec les autres commutateurs. Pour maintenir la compatibilité, utilisez le nom du gemset dans un fichier séparé .Ruby-gemset qui est ignoré par d’autres outils (il ne fonctionne que conjointement 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

Et .Ruby-gemset:

my-app

Assurez-vous de supprimer le fichier .rvmrc car il prévaut sur tout autre fichier de configuration du projet:

rm .rvmrc
370
mpapis

Un moyen rapide et facile de passer de .rvmrc à .Ruby-version + .Ruby-gemset

rvm rvmrc to .Ruby-version
76
Sam Backus

Si vous voulez créer les fichiers .Ruby-version et .Ruby-gemset de manière succincte, vous pouvez utiliser les commandes suivantes:

rvm use 2.1.1@nancy --create

rvm --create --Ruby-version 2.1.1@nancy
4
user2627938

Vous pouvez essayer les deux. Allez à la racine de votre projet, créez un fichier .rvmrc (touch .rvmrc), puis éditez 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 le répertoire votre_projet) et le script de .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

Ce qu'il fait est de créer 2 noms de fichiers . Ruby-version, et . Ruby-gemset et d'ajouter cette ligne

Ruby-2.0.0-p451 dans la version .Ruby

your_gemset dans .Ruby-gemset

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

2
duykhoa

Installez 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

Basculez vers la version spécifique de Ruby. Par exemple, 1.8.7:

rvm use 1.8.7

Pour créer une gemse:

rvm gemset create project_gemset

Et pour utiliser un gemset:

rvm gemset use project_gemset
0
Narasu Londave