2015-09-08 2 views
5

J'essaie de mettre à niveau notre application de Rails 3.2.22 vers Rails 4.2.4 avec Ruby 2.2.3.Erreur lors de la mise à niveau de Rails 3.2.22 vers Rails 4.2.4

Voici ce que je l'ai fait jusqu'à présent:

  1. modifié Gemfile pour spécifier rails, "~> 4.2.4"
  2. bundle
  3. bundle update rails

La transcription complète est ci-dessous.

ActiveRecord n'est pas spécifié dans notre fichier Gemfile, donc je ne comprends pas ce qu'il a verrouillé ou où le réparer?

Craigs-MacBook-Pro~/Work/mbc(master|✔) % git checkout -b rails-424 
Switched to a new branch 'rails-424' 
Craigs-MacBook-Pro~/Work/mbc(rails-424|✔) % vim Gemfile 
Craigs-MacBook-Pro~/Work/mbc(rails-424|✚1) % bundle 
Fetching gem metadata from https://rubygems.org/........ 
Fetching version metadata from https://rubygems.org/... 
Fetching dependency metadata from https://rubygems.org/.. 
You have requested: 
    rails ~> 4.2.4 

The bundle currently has rails locked at 3.2.22. 
Try running `bundle update rails` 
Craigs-MacBook-Pro~/Work/mbc(rails-424|✚1) % bundle update rails 
Fetching gem metadata from https://rubygems.org/........ 
Fetching version metadata from https://rubygems.org/... 
Fetching dependency metadata from https://rubygems.org/.. 
Resolving dependencies............ 
Bundler could not find compatible versions for gem "activerecord": 
    In Gemfile: 
    activerecord (< 4.3, >= 3.1) ruby 

    activerecord (< 5.0, >= 3.0) ruby 

    vestal_versions (>= 0) ruby depends on 
     activerecord (~> 3.0) ruby 

    activerecord (> 3.0.0) ruby 

    rails (~> 4.2.4) ruby depends on 
     activerecord (= 4.2.4) ruby 
Craigs-MacBook-Pro~/Work/mbc(rails-424|✚1) % 

Répondre

1

vestal_versions pierre précieuse a la dépendance à ActiveRecord 3.0.

Vous devez vestal_versions version de spécifications une pierre précieuse dans votre Gemfile, ou indiquez à 2.0.0 puis:

bundle update rails vestal_versions 
+0

Ah, « dépend de » la phrase clé est là. –

+0

Ça marche ??? – asiniy

+0

Oui, cela m'a amené à la prochaine série d'erreurs, pour le moment. Je ne peux pas accepter une réponse pour quelques minutes de plus. –