Perchè Ubuntu pensa che Rails 2.3.14 sia installato anche se ho installato 3.2?

4

Sono abbastanza nuovo per Ubuntu, Ruby e Rails. Sto lavorando alla prima Guida alle rotaie . A metà di questa guida, ho aggiornato Ubuntu versione 11 a Ubuntu versione 12. Mentre ero sulla versione 11, ho installato Rails tramite:

gem install rails

e quindi eseguito:

rails --version

Di cui sono quasi sicuro emettere qualcosa sulla falsariga di:

Rails 3.2.7

Quando ho corso:

rails server

Il server Webrick è stato avviato e sono riuscito a visualizzare la pagina iniziale. Sono stato anche in grado di continuare con il tutorial un po '. Poi, ho avuto dei problemi con alcuni pacchetti mancanti / danneggiati e ho aggiornato Ubuntu alla versione 12 nel tentativo di risolvere il problema.

Dopo aver effettuato l'accesso a Ubuntu versione 12, ho provato a continuare con il tutorial. Questa volta quando ho corso

rails server

Questo è successo:

  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

Ho provato a cercare cosa stava succedendo e sembrava che Rails fosse una versione precedente. Ho eseguito questo:

rails --version

.. e ottenuto questo:

Rails 2.3.14

Ho pensato che forse, in qualche modo Rails è stato declassato o qualcosa del genere, quindi ho eseguito questo:

gem install rails

e ottenuto questo:

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...

Ho pensato che fosse stato risolto, quindi ho provato cose che Rails 3 dovrebbe essere in grado di fare ancora, e ho ottenuto lo stesso risultato di prima, quindi ho eseguito questo:

rails --version

e ottenuto questo:

Rails 2.3.14

Ho ripassato tutto più volte e ho continuato a ottenere gli stessi risultati. Ho provato a cercare perché questo potrebbe accadere, e finora non mi viene in mente niente. Sembra che io possa installare Rails 3, ma non cambia il fatto che Ubuntu 12 pensi che Rails 2 sia installato. Reagisce anche come se Rails 2 fosse installato, e nulla sembra cambiarlo.

Perché Ubuntu pensa che Rails 2 sia stato installato, se mi sta dicendo che Rails 3 è stato appena installato?

Alcuni dettagli aggiuntivi:

  • Sto usando Zsh Terminal.
  • Sto usando sudo dove ho bisogno, anche se non l'ho scritto qui
  • Sto usando Ubuntu su VMware Workstation 8
  • Sto utilizzando VMware Workstation 8 su Windows 7
  • Ho provato ad installare Ubuntu 12 in una macchina virtuale nuova di zecca, e ho riscontrato lo stesso problema lì.
posta Code Junkie 29.07.2012 - 06:49

1 risposta

2

Poiché hai uno dei pacchetti di binari 2.3.14 predefiniti dai repository installati, oltre a Rails 3.2.7 installato tramite gem : -)

  • In qualche modo, hai installato uno di questi pacchetti direttamente o come dipendenza:
    rails - MVC ruby based framework geared for web application development
    ruby-rails-2.3 - MVC ruby based framework geared for web application development
    
  • apt-cache show rails ci dice che è ... Version: 2.3.14.1
  • Partendo da zero, i seguenti passaggi installano correttamente 3.2.7 ( log estremamente dettagliato disponibile ):

    sudo apt-get install rubygems
    sudo gem install rails
    #...wait for a while...
    $ rails --version
    Rails 3.2.7
    
  • Sul tuo sistema esistente, ti consiglio di provare questo per vedere se è possibile rimuovere 2.3.14 e ottenere 3.2.7 come predefinito:

    sudo apt-get remove rails ruby-rails\*
    sudo apt-get autoremove
    sudo apt-get --reinstall install rubygems
    sudo gem install rails
    

risposta data ish 29.07.2012 - 10:52

Leggi altre domande sui tag