web-dev-qa-db-fra.com

Pourquoi Ubuntu pense-t-il que Rails 2.3.14 est installé alors que j'ai installé la version 3.2?

Je suis assez nouveau pour Ubuntu, Ruby et Rails. Je travaille à travers le premier Rails Guide . À mi-parcours de ce guide, j'ai mis à niveau Ubuntu version 11 vers Ubuntu version 12. Alors que j'étais sur la version 11, j'ai installé Rails via:

gem install Rails

et ensuite couru:

Rails --version

Ce dont je suis presque sûr de sortir quelque chose comme:

Rails 3.2.7

Quand j'ai couru:

Rails server

le serveur Webrick a démarré et j'ai pu afficher ma page de démarrage. J'ai également pu continuer un peu le tutoriel. Ensuite, j'ai rencontré des problèmes avec certains paquets manquants/endommagés et j'ai mis à niveau Ubuntu vers la version 12 en essayant de résoudre ce problème.

Une fois connecté à Ubuntu version 12, j'ai essayé de continuer avec le tutoriel. Cette fois quand j'ai couru

Rails server

C'est arrivé:

  create  
  create  app/controllers
  create  app/helpers
  create  app/models
  create  app/views/layouts
  create  config/environments
  create  config/initializers
  create  config/locales
  create  db
  create  doc
  create  lib
  create  lib/tasks
  create  log
  create  public/images
  create  public/javascripts
  create  public/stylesheets
  create  script/performance
  create  test/fixtures
  create  test/functional
  create  test/integration
  create  test/performance
  create  test/unit
  create  vendor
  create  vendor/plugins
  create  tmp/sessions
  create  tmp/sockets
  create  tmp/cache
  create  tmp/pids
  create  Rakefile
  create  README
  create  app/controllers/application_controller.rb
  create  app/helpers/application_helper.rb
  create  config/database.yml
  create  config/routes.rb
  create  config/locales/en.yml
  create  db/seeds.rb
  create  config/initializers/backtrace_silencers.rb
  create  config/initializers/inflections.rb
  create  config/initializers/mime_types.rb
  create  config/initializers/new_Rails_defaults.rb
  create  config/initializers/session_store.rb
  create  config/initializers/cookie_verification_secret.rb
  create  config/environment.rb
  create  config/boot.rb
  create  config/environments/production.rb
  create  config/environments/development.rb
  create  config/environments/test.rb
  create  script/about
  create  script/console
  create  script/dbconsole
  create  script/destroy
  create  script/generate
  create  script/runner
  create  script/server
  create  script/plugin
  create  script/performance/benchmarker
  create  script/performance/profiler
  create  test/test_helper.rb
  create  test/performance/browsing_test.rb
  create  public/404.html
  create  public/422.html
  create  public/500.html
  create  public/index.html
  create  public/favicon.ico
  create  public/robots.txt
  create  public/images/Rails.png
  create  public/javascripts/prototype.js
  create  public/javascripts/effects.js
  create  public/javascripts/dragdrop.js
  create  public/javascripts/controls.js
  create  public/javascripts/application.js
  create  doc/README_FOR_APP
  create  log/server.log
  create  log/production.log
  create  log/development.log
  create  log/test.log
  create  vendor/Rails

J'ai essayé de rechercher ce qui se passait, et cela semblait être le résultat de Rails étant une version plus ancienne. J'ai couru ceci:

Rails --version

..et obtenu ceci:

Rails 2.3.14

Je pensais que peut-être, d'une certaine manière, Rails s'était dégradé ou quelque chose du genre, alors j'ai lancé ceci:

gem install Rails

et obtenu ceci:

Successfully installed Rails-3.2.7
1 gem installed
Installing ri documentation for Rails-3.2.7...
Installing RDoc documentation for Rails-3.2.7...

J'ai pensé que cela devait être corrigé, alors j'ai essayé des choses que Rails 3 devrait pouvoir refaire, et j'ai obtenu le même résultat qu'avant, alors j'ai lancé ceci:

Rails --version

et obtenu ceci:

Rails 2.3.14

J'ai parcouru le tout plusieurs fois de plus et j'ai obtenu les mêmes résultats. J'ai essayé de rechercher pourquoi cela pourrait se produire, et jusqu'à présent, je ne propose rien. Il semble que je puisse installer Rails 3, mais cela ne change pas le fait qu'Ubuntu 12 pense que Rails 2 est installé. Il réagit également comme si Rails 2 était installé, et rien ne semble changer cela.

Pourquoi Ubuntu penserait-il que Rails 2 a été installé, si on me dit que Rails 3 vient d'être installé?

Quelques détails supplémentaires:

  • J'utilise Zsh Terminal.
  • J'utilise Sudo là où je dois, même si je ne l'ai pas écrit ici
  • J'utilise Ubuntu dans VMware Workstation 8
  • J'exécute VMware Workstation 8 sous Windows 7
  • J'ai essayé d'installer Ubuntu 12 sur une toute nouvelle machine virtuelle et j'obtiens le même problème.
4
Code Junkie

Parce que vous avez l'un des packages 2.3.14 Rails pré-construits à partir des référentiels installés, en plus de Rails 3.2.7 installé via gem :-)

  • D'une manière ou d'une autre, vous avez installé l'un de ces packages directement ou en tant que dépendance:
     Rails - MVC Ruby framework conçu pour le développement d’applications Web 
     Ruby-Rails-2.3 - MVC Ruby framework conçu pour le développement d’applications Web 
    
  • apt-cache show Rails nous dit que c'est ...Version: 2.3.14.1
  • En partant de zéro, les étapes suivantes permettent d’installer correctement la version 3.2.7 ( journal extrêmement détaillé disponible ):

     Sudo apt-get installer rubygems 
     Sudo gem installer Rails 
    #...attendre un moment...
     $ Rails --version 
     Rails 3.2.7 
    
  • Sur votre système existant, je vous recommande d’essayer ceci pour voir si vous pouvez supprimer 2.3.14 et obtenir 3.2.7 comme système par défaut:

     Sudo apt-get remove Rails Ruby-Rails\* 
     Sudo apt-get autoremove 
     Sudo apt-get --reinstall install rubygems 
     Sudo gem installe Rails 
    
2
ish