【发布时间】:2011-11-10 21:59:41
【问题描述】:
这个问题我已经有一个多星期了。当我执行 rake db:create 或 rake db:migrate 时,我会得到一长串错误,例如:
.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2/lib/rake/version.rb:4:警告:已初始化常量 MAJOR
它有一个用于 MAJOR、MINOR、BUILD、NUMBERS、VERSION ......并且它会不断地以:
rake 中止! 堆栈层太深
我刚刚做了一个 gem install rake 并没有解决问题。非常感谢您的帮助!
【问题讨论】:
-
试试
bundle exec rake db:migrate -
成功了!谢谢你。为什么会奏效?
-
Bundler 通过管理 gem 版本来工作。如果您的应用程序需要 Rake 0.8.7 并且您安装了 Rake 0.9.2(并且您确实安装了),那么当您运行
rake command时,您正在运行 0.9.2。但是,当使用 bundler 时,它会使用 Gemfile 中指定的版本。所以bundle exec rake command运行 Rake 0.8.7。 -
@coreyward 有没有办法让我的 Gemfile Rake 版本达到 0.9.2
-
是的,但 Rails 仍然不喜欢它。您需要查看有关让 Rails 与 0.9.2 一起使用的帮助,但 rake 升级本身很简单,只需运行
bundle update rake。
标签: ruby-on-rails ruby database rake