Après avoir créé une toute nouvelle application Rails Suivant le blog officiel de Rails post , toute tentative de conversion des applications en Rails 3.2.0.rc2 donne les résultats suivants:
Updated Gemfile to depend on Rails ~> 3.2.0.rc2
gem 'Rails', '~>3.2.0.rc2'
Updated Gemfile to depend on sass-Rails ~> 3.2.3
gem 'sass-Rails', '~> 3.2.3'
$ bundle install
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "activesupport":
In snapshot (Gemfile.lock):
activesupport (3.1.1)
In Gemfile:
Rails (~> 3.2.0.rc2) Ruby depends on
activesupport (= 3.2.0.rc2) Ruby
Running `bundle update` will rebuild your snapshot from scratch, using
only the gems in your Gemfile, which may resolve the conflict.
$bundle update
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "railties":
In Gemfile:
coffee-Rails (~> 3.1.1) Ruby depends on
railties (~> 3.1.0) Ruby
Rails (~> 3.2.0.rc2) Ruby depends on
railties (3.2.0.rc2)
Quel est exactement le problème?
Mac OS 10.7.2, Xcode 4.2.1, version 1.10.1 utilisant Ruby 1.9.3p0 (2011-10-30 révision 33570) [x86_64-darwin11.2.0]
Je l'ai résolu en supprimant le verrou rm Gemfile.lock
et en exécutant à nouveau bundle install
:
$ rm Gemfile.lock
$ bundle install
Using rake (0.9.2.2)
Using i18n (0.6.0)
Using multi_json (1.0.4)
Using activesupport (3.2.0.rc2)
Using builder (3.0.0)
Using activemodel (3.2.0.rc2)
Using erubis (2.7.0)
Using journey (1.0.0)
Using rack (1.4.0)
Using rack-cache (1.1)
Using rack-test (0.6.1)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.1.2)
Using actionpack (3.2.0.rc2)
Using mime-types (1.17.2)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.3.0)
Using actionmailer (3.2.0.rc2)
Using arel (3.0.0)
Using tzinfo (0.3.31)
Using activerecord (3.2.0.rc2)
Using activeresource (3.2.0.rc2)
Using bundler (1.0.21)
Using coffee-script-source (1.2.0)
Using execjs (1.2.13)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.6.4)
Using rdoc (3.12)
Using thor (0.14.6)
Using railties (3.2.0.rc2)
Using coffee-Rails (3.2.1)
Using jquery-Rails (2.0.0)
Using Rails (3.2.0.rc2)
Using sass (3.1.12)
Using sass-Rails (3.2.3)
Using sqlite3 (1.3.5)
Using uglifier (1.2.2)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
C'est un moyen assez brutal de résoudre le problème. S'il s'agit d'un projet établi, vous pouvez rencontrer d'autres problèmes après la suppression du Gemfile.lock
car les versions de dépendance ne sont plus verrouillées. Toutefois, s’il s’agit d’un nouveau projet, il est peu probable que vous rencontriez des problèmes en adoptant cette approche.
En plus de sass-Rails
, vous devez modifier la version de coffee-Rails
dont vous dépendez (3.2.1 devrait le faire)
allez comme ceci: gem 'activeadmin', github: 'gregbell/active_admin'
in da gemfile. Prise en charge de l’administrateur actif de Rails 4 fusionnée dans une branche principale Installation de l’administrateur actif avec Rails 4
Si la version de votre bundle n’est pas identique à BUNDLED WITH dans la dernière ligne de votre fichier Gemfile.lock, il se peut que vous ne trouviez pas de version compatible pour gem GEMNAME avant d’ajouter une nouvelle gem à votre fichier Gemfile.