La situation est la suivante : mon gemset par défaut sur mon ordinateur pointe vers rails 5.0.0
. Cependant : j'ai une application qui utilise une très vieille version de rails. Disons que pour cet exemple, l'application utilise : rails 2.1.1
.
Mon appareil passe-t-il automatiquement en mode rails 2.1.1
quand cd'ed
dans cette application parce que rails 2.1.1
est spécifié dans le Gemfile
? Ou : dois-je explicitement créer un gemset pour que mon application et ma machine fassent les choses à la "façon rails 2.1.1" (par opposition à la "façon rails 5.0.0" qui est la version de rails dans mon gemset par défaut) ?
Ce qui me préoccupe, c'est que si ma machine pense que j'utilise des rails 5.0.0
au lieu de rails 2.1.1
en développant à l'intérieur de l'application : alors les commandes rails telles que les générateurs peuvent créer des fichiers et faire des choses "à la manière rails 5.0.0" par opposition à la manière "rails 2.1.1".
J'espère que cela a du sens. Voici ce que je ferais pour déclarer "explicitement" 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 qui utilise 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
Ce gemset utilise maintenant rails 2.1.1
.
À la racine de mon application, je spécifie un fichier .ruby-gemset
qui indique à rails : "Assurez-vous que vous faites les choses que rails 2.1.1
et non pas la rails 5.0.0
manière :
#.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 le développement dans cette application fera tout dans le contexte de la version de rails spécifiée dans le Gemfile par opposition à la version de rails dans le gemset par défaut.