这是我的Gemfile
source :rubygems
gem 'rake', '0.9.2.2'
gem 'sinatra'
gem 'activerecord', '3.0.9'
gem 'pg', '~> 0.12.2'
gem 'logger'
gem 'nokogiri'
group :development, :test do
gem 'rack-test'
gem 'ruby-debug19'
gem 'sqlite3'
end
我运行的rake console
适用于其他项目,现在我收到此消息:
You have already activated activesupport 3.1.3, but your Gemfile requires activesupport 3.0.9. Using bundle exec may solve this.
如何使用`bundle exec来解决这个问题?这是什么意思?
答案 0 :(得分:41)
要停止使用bundle exec rake
,您可以运行bundle clean --force
。此命令将更新您的Gemfile.lock。
答案 1 :(得分:11)
您可以运行bundle exec rake console
,这意味着命令(在本例中为rake console
)将锁定到Gemfile中列出的特定gem。
答案 2 :(得分:7)
rubygems-bundler解决了这个问题。运行以下命令:
$ gem install rubygems-bundler
$ $ gem regenerate_binstubs
然后再试一次。
答案 3 :(得分:0)
您可以检查以确保在Gemfile中包含rake
。如果不是,请添加它,并指定版本"您已经激活"。
或者您可以在本地更新
bundle update rake
我希望这有助于