我正在尝试运行rails项目, 我得到了
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
如果我这样做:“捆绑安装”
但 我正在
You have already activated rake 0.9.0, but your Gemfile requires rake 0.8.7
做着
rake db:migrate
答案 0 :(得分:239)
首先,检查以确保Gemfile中提到了rake。如果不是,请添加它,并指定“您已经激活”的版本。
然后,您需要告诉bundle更新它为您的应用程序使用的rake版本:
bundle update rake
它会为您更新Gemfile.lock
。
答案 1 :(得分:42)
您当前正在使用rake命令,例如
rake db:migrate
请改用:
bundle exec rake db:migrate
直到最新版本的rails和/或rake能够很好地协同工作才会出现这种情况。
答案 2 :(得分:23)
我感谢Dobry Den,欢呼老兄。但我不得不这样做。 这是解决方案(适合我)。 我添加了
gem 'rake','0.8.7'
在Gemfile上,但不存在,但是我的新版本的rails会自动安装rake(0.9.0)。
在gem uninstall rake
删除rake0.9.0之后
在执行bundle update rake
之后,我可以创建和迁移数据库。
答案 3 :(得分:8)
答案 4 :(得分:7)
在Gemfile中指定所需的版本。
gem 'rake', '0.9.0'
然后
bundle update rake
您需要使用bundle exec来运行rake任务
bundle exec rake db:migrate
答案 5 :(得分:6)
哦,看,这是未来。对我来说,它抱怨我在需要0.9.5时安装了rake 10.x.不太确定,不熟悉Ruby,真正深入研究最近的版本号发生了什么,但我做的是:
gem uninstall rake
gem install rake -v 0.9.5
强制系统安装应用程序所需的rake版本(对我而言是Octopress)。
答案 6 :(得分:5)
我有这个问题(另一个不是rake的宝石)我能够通过
来解决它gem uninstall <complaining gem>
gem install <complaining gem>
bundle install
bundle update
请注意,未使用关键字“sudo”(即sudo bundle install),因为这可能会将gem放入rails应用程序可能无法搜索的目录中。
答案 7 :(得分:3)
如果我理解您没有要求的内容,则需要打开Gemfile
文件并更改行...
gem 'rake', '0.8.7'
...到...
gem 'rake', '0.9.0'
答案 8 :(得分:3)
将此添加到您的Gemfile
# Rake 0.9.0 break Rails.
gem "rake", "!= 0.9.0"
然后卸载 rake-0.9.0