Changer de rails version utilisée par le système rvm
Voici mon local gemmes :
$ gem list
*** LOCAL GEMS ***
actionmailer (4.0.0, 3.2.14)
actionpack (4.0.0, 3.2.14)
activemodel (4.0.0, 3.2.14)
activerecord (4.0.0, 3.2.14)
activerecord-deprecated_finders (1.0.3)
activeresource (3.2.14)
activesupport (4.0.0, 3.2.14)
arel (4.0.0, 3.0.2)
atomic (1.1.13)
builder (3.1.4, 3.0.4)
bundler (1.3.5)
bundler-unload (1.0.1)
erubis (2.7.0)
hike (1.2.3)
i18n (0.6.5)
journey (1.0.4)
json (1.8.0)
mail (2.5.4)
mime-types (1.24)
minitest (4.7.5)
multi_json (1.7.9)
polyglot (0.3.3)
rack (1.5.2, 1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.14)
railties (4.0.0, 3.2.14)
rake (10.1.0)
rdoc (3.12.2)
rubygems-bundler (1.2.2)
rubygems-update (2.0.7)
rvm (1.11.3.8)
sprockets (2.10.0, 2.2.2)
sprockets-rails (2.0.0)
thor (0.18.1)
thread_safe (0.1.2)
tilt (1.4.1)
treetop (1.4.15)
tzinfo (0.3.37)
Mais quand je tape rails -v
j'obtiens ceci :
$ rails -v
Rails 4.0.0
$ which rails
/Users/polonium/.rvm/rubies/ruby-2.0.0-p247/bin/rails
Comment puis-je spécifier rvm pour utiliser les rails de la version 3.2.14 ?
Merci d'avance
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer une nouvelle application rails avec un particulier rails de version, comme ce
$ rails _3.2.14_ new myApp /Users/7stud/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency.rb:296:in 'to_specs': Could not find 'railties' (= 3.2.14) - did find: [railties-4.0.0] (Gem::LoadError)
rvm n'a rien à voir avec les rails. rvm est utilisé pour gérer plusieurs ruby installations. Et chacun de vos ruby installations peut être associé à plusieurs gemsets. Par exemple, disons que vous avez ruby 1.9.3 installé et que vous avez créé deux gemsets pour ruby 1.9.3: gemsetA et gemsetB. Si vous dites à rvm à utiliser ruby 1.9.3 avec gemsetA, ce qui signifie:
Votre ruby programmes seront exécutés par ruby 1.9.3.
Votre ruby programmes peuvent exiger un joyau dans gemsetA (ce qui permet alors de votre programme à utiliser les méthodes (ou classes) défini dans gemsetA), mais toutes les pierres précieuses dans gemsetB ne peut pas être vu par vos ruby programme.
Voici un exemple concret:
.
Après je fais que, mon ruby programmes seront exécutés par ruby 1.9.3 et toutes les pierres précieuses dans la programmation sertie peut être nécessaire dans mon ruby programme. Vous pouvez utiliser un raccourci pour effectuer ces deux commandes en une seule étape:
Vous combinez la version de ruby et de l'sertie avec un '@' entre eux.
C'est parce que le courant sertie contient un bijou de rails 4.0.0. Si vous voulez voir
$ rails -v
sortieRails 3.2.14
, alors vous devez dire à rvm pour passer à un sertie qui contient les rails 3.2.14 gem.Cependant, vous pouvez faire rvm basculer automatiquement vers le bon rails de version et sertie de vos rails de projet. Dans votre Gemfile, ajouter un commentaire après la version de ruby:
Alors à chaque fois que vous basculez vers le répertoire contenant vos rails de projet, rvm basculer automatiquement le courant ruby ruby 2.0.0 et le courant sertie de railstutorial4_gems. Si vous modifiez les répertoires de votre application rails, rvm de changer le rubis et le courant sertie de retour à ce qu'ils étaient.
Je suis juste un rails de débutant, mais voici les étapes que j'ai utiliser pour créer un nouveau projet, qui sont tout droit sorti de la railstutorial livre (http://ruby.railstutorial.org/ruby-on-rails-tutorial-book)
1)
2)
Car le courant est sertie myapp sertie, cette commande installe les rails 3.2.14 gem dans le myapp sertie.
3)
L'actuel sertie est encore myapp_gemset.
4)
Au cas où quelqu'un me demandais ce que le diable, les deux gemsets sont tout au sujet de:
rvm crée ces deux gemsets pour chaque version de ruby à vous installer. Après l'installation d'une version de ruby, si vous ne créez pas un sertie vous-même pour cette version de ruby, et que vous installez un bijou, puis la gemme rentre dans l' (par défaut) sertie. Et, si vous voulez que tous vos gemsets pour contenir un certain gem, vous pouvez passer à l'global sertie et installer le gem là.
Mise à jour: -------
Pour maintenir la compatibilité avec d'autres version de ruby gestionnaires, vous pouvez spécifier la version de ruby et sertie nom de votre projet dans un fichier différent, plutôt que dans le Gemfile:
Vous aurez toujours le même automatique version de ruby et sertie de commutation lorsque vous
cd
dans le dossier de votre projet. Voir le rvm docs ici.le chemin que vous avez trouvé
/Users/polonium/.rvm/rubies/ruby-2.0.0-p247/bin/rails
n'est pas bon chemin vous trouvées dans la norme rvm installation tout en faisant bon usage de rvm, ce que vous voyez devrait être:/Users/polonium/.rvm/gems/ruby-2.0.0-p247/bin/rails
pour le faire fonctionner correctement, essayez de ce flux:
de cette façon maintenant, vous pouvez basculer entre ces deux rails installations avec:
que vous devez faire: gem install rails' -v '3.2.13'
Vous devez utiliser un chiffon propre sertie, si vous utilisez rvm, vous pouvez essayer:
rvm sertie de créer
rvm sertie utilisation
Maintenant, vous avez un propre sertie, il est temps d'installer des rails,
gem install rails -v '3.2.13'
et puis créer une application rails,
rails new app_name
"railties (4.0.0," c'est le problème que vous avez. Je suppose qu'il a été installé par erreur?
Désinstaller cette version à l'aide, gem désinstaller railties, puis en sélectionnant l'option avec la 4.0.0.
Maintenant la commande "rails-v" sera de retour prévue de votre version qui est "3.2.14"
Assurez-vous de vérifier le mondial sertie par abord vous assurer que vous êtes dans la version de ruby vous avez l'intention d'utiliser
Puis changer pour le mondial sertie (global sertie applys à tous les gemsets alors assurez-vous de le garder propre et universel...ou mondiale, d'où le nom)
Après que l'enregistrement joyau de la liste pour les gemmes qui peuvent l'affecter comme le "railties" joyau qui Harsha mentionné en tapant
Parfois le mondial sertie peut être rempli par un accident bijou qui va affecter tous les autres gemsets. Si vous trouvez une fausse gemme vous pouvez le désinstaller simplement avec
ou pour une version spécifique de cette gemme col en v avec la version de citations
Et lire 7stud commentaire sur la création et l'utilisation de RVM pour changer entre les différents gemsets.
Vous pouvez ajouter la version de Rails que vous voulez, avec:
Et puis créer une application avec la version:
Enfin, vous pouvez vérifier le contenu de la "Gemfile" pour corroborer: