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
精彩评论