La situation est que mon gemset par défaut sur mon ordinateur pointe vers rails 5.0.0
. Cependant : j'ai une application qui utilise une version de rails vraiment ancienne. Disons, pour cet exemple, que l'application utilise : rails 2.1.1
.
Est-ce que mon ordinateur bascule automatiquement vers rails 2.1.1
lorsque je me déplace dans cette application avec la commande cd
parce que rails 2.1.1
est spécifié dans le Gemfile
? Ou est-ce que j'ai besoin de créer explicitement un gemset pour que mon application et mon ordinateur fonctionnent selon la logique de "rails 2.1.1" (au lieu de suivre la logique de "rails 5.0.0 qui est la version de rails dans mon gemset par défaut)?
Ma préoccupation est que si mon ordinateur pense que j'utilise rails 5.0.0
au lieu de rails 2.1.1
en développant dans l'application, les commandes rails telles que les générateurs pourraient créer des fichiers et effectuer des actions "à la manière de rails 5.0.0" plutôt que "à la manière de rails 2.1.1".
J'espère que ceci a du sens. Voici ce que je ferais pour indiquer de manière "explicite" via un gemset que cette application utilise rails 2.1.1
Exemple :
Je crée un gemset qui doit être spécifié pour toute application utilisant rails 2.1.1
rvm gemset create rails_2_1_1
Je spécifie la version de ruby à utiliser sur ce gemset
rvm use 2.2.1@rails_2_1_1
J'installe ensuite cette ancienne version de rails sur ce gemset :
gem install rails --version=2.1.1
Maintenant ce gemset utilise rails 2.1.1
.
Maintenant, à la racine de mon application, je spécifie un fichier .ruby-gemset
qui dit à rails : "Assurez-vous de faire les choses selon la façon de rails 2.1.1
et non selon la façon de rails 5.0.0
:
#.ruby-gemset
rails_2_1_1
Je veux être sûr que si une autre version de rails est spécifiée dans le Gemfile d'une application que dans mon gemset par défaut : alors en développant dans cette application, tout se fera dans le contexte de la version de rails spécifiée dans le Gemfile plutôt que la version de rails dans le gemset par défaut.