开发者

Deactivate a Gem - "you have already activated rake 0.9.3.beta.1, but my Gemfile requires rake 0.9.2"

I'm trying to run a migration but I keep getting the error message that is:

rake aborted! Undefined method prerequisite for nil:NilClass.

It seems that somehow I activated a gem called rake 0.9.3.beta.1 - however I have since changed the gem bundle install and run bundle show rake and it shows that rake 0.9.2 is installed. I'm using Git for the first time so I thought that maybe it had something to do with the application still using the beta version of rake - but I've done a push and it shows that the gemfile has been updated.

and when I look down into the gem libraries I can only see the rake 0.9.2 version. Where should I be looking?

I also have a Rails:Railtie deprecated warning - but I'm thinking that this doesn't have anything to do with my migration problems. Its telling me to use config.app_generators in config/application.rb instead of Railtie - but i can't see that in the file.

This is the Config/application.rb file

require File.expand_path('../boot', __FILE__)

# Pick the frameworks you want:
 require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
 require "sprockets/railtie"
Bundler.require *Rails.groups(:assets) if defined?(Bundler)

module CrowdshareApp
  class Application < Rails::Application
  config.encoding = "utf-8"
config.filter_parameters += [:password]
config.assets.enabled = true
  end
end

My Gemfile looks like this:

source 'http://rubygems.org'

gem 'rails', '3.1.0.rc5'
gem 'sqlite3' 
group :assets do
  gem 'sass-rails', "~> 3.1.0.rc"
  gem 'coffee-rails', "~> 3.1.0.rc"
  gem 'uglifier'
end

gem 'jquery-rails'
group :development do
  gem   'rspec-rails', '2.0.0.beta.18'
end

group :test do
  gem 'rspec', '2.0.0.beta.18'
end

and the Gemfile.lock file has the following:

GEM
  remote: http://rubygems.org/
  开发者_StackOverflow中文版specs:
    actionmailer (3.1.0.rc5)
      actionpack (= 3.1.0.rc5)
      mail (~> 2.3.0)
    actionpack (3.1.0.rc5)
      activemodel (= 3.1.0.rc5)
      activesupport (= 3.1.0.rc5)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      i18n (~> 0.6)
      rack (~> 1.3.1)
      rack-cache (~> 1.0.2)
      rack-mount (~> 0.8.1)
      rack-test (~> 0.6.0)
      sprockets (~> 2.0.0.beta.12)
    activemodel (3.1.0.rc5)
      activesupport (= 3.1.0.rc5)
      bcrypt-ruby (~> 2.1.4)
      builder (~> 3.0.0)
      i18n (~> 0.6)
    activerecord (3.1.0.rc5)
      activemodel (= 3.1.0.rc5)
      activesupport (= 3.1.0.rc5)
      arel (~> 2.1.4)
      tzinfo (~> 0.3.29)
    activeresource (3.1.0.rc5)
      activemodel (= 3.1.0.rc5)
      activesupport (= 3.1.0.rc5)
    activesupport (3.1.0.rc5)
      multi_json (~> 1.0)
    arel (2.1.4)
    bcrypt-ruby (2.1.4-x86-mingw32)
    builder (3.0.0)
    coffee-rails (3.1.0.rc.5)
      actionpack (~> 3.1.0.rc1)
      coffee-script (>= 2.2.0)
      railties (~> 3.1.0.rc1)
      sprockets (>= 2.0.0.beta.9)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.1.2)
    diff-lcs (1.1.2)
    erubis (2.7.0)
    execjs (1.2.4)
      multi_json (~> 1.0)
    hike (1.2.0)
    i18n (0.6.0)
    jquery-rails (1.0.13)
      railties (~> 3.0)
      thor (~> 0.14)
    mail (2.3.0)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.16)
    multi_json (1.0.3)
    nokogiri (1.5.0-x86-mingw32)
    polyglot (0.3.2)
    rack (1.3.2)
    rack-cache (1.0.2)
      rack (>= 0.4)
    rack-mount (0.8.2)
      rack (>= 1.0.0)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.1)
      rack (>= 1.0)
    rails (3.1.0.rc5)
      actionmailer (= 3.1.0.rc5)
      actionpack (= 3.1.0.rc5)
      activerecord (= 3.1.0.rc5)
      activeresource (= 3.1.0.rc5)
      activesupport (= 3.1.0.rc5)
      bundler (~> 1.0)
      railties (= 3.1.0.rc5)
    railties (3.1.0.rc5)
      actionpack (= 3.1.0.rc5)
      activesupport (= 3.1.0.rc5)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (~> 0.14.6)
    rake (0.9.2)
    rdoc (3.9.2)
    rspec (2.0.0.beta.18)
      rspec-core (= 2.0.0.beta.18)
      rspec-expectations (= 2.0.0.beta.18)
      rspec-mocks (= 2.0.0.beta.18)
    rspec-core (2.0.0.beta.18)
    rspec-expectations (2.0.0.beta.18)
      diff-lcs (>= 1.1.2)
    rspec-mocks (2.0.0.beta.18)
    rspec-rails (2.0.0.beta.18)
      rspec (>= 2.0.0.beta.14)
      webrat (>= 0.7.0)
    sass (3.1.7)
    sass-rails (3.1.0.rc.5)
      actionpack (~> 3.1.0.rc1)
      railties (~> 3.1.0.rc1)
      sass (>= 3.1.4)
      sprockets (>= 2.0.0.beta.9)
    sprockets (2.0.0.beta.13)
      hike (~> 1.2)
      rack (~> 1.0)
      tilt (!= 1.3.0, ~> 1.1)
    sqlite3 (1.3.4-x86-mingw32)
    thor (0.14.6)
    tilt (1.3.2)
    treetop (1.4.10)
      polyglot
      polyglot (>= 0.3.1)
    tzinfo (0.3.29)
    uglifier (1.0.0)
      execjs (>= 0.3.0)
      multi_json (>= 1.0.2)
    webrat (0.7.3)
      nokogiri (>= 1.2.0)
      rack (>= 1.0)
      rack-test (>= 0.5.3)

PLATFORMS
  x86-mingw32

DEPENDENCIES
  coffee-rails (~> 3.1.0.rc)
  jquery-rails
  rails (= 3.1.0.rc5)
  rspec (= 2.0.0.beta.18)
  rspec-rails (= 2.0.0.beta.18)
  sass-rails (~> 3.1.0.rc)
  sqlite3
  uglifier


Try to remove your Gemfile.lock file and run bundle install again.


One other way that worked for me was, went to the Gemfile.lock and changed Rake version from 0.9.2.2 to 0.9.3.beta.1.


I had the same issue and solved with the help of links below. They can help understanding some concepts regarding this specific question and how and why to use bundle exec rake db:migrate.

You have another option to use gem uninstall rake and then select the version you want to remove.

Read Before installing rails 3.1

Rake 0.9 and gem version constraints by David Chelimsky

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜