【问题标题】:rake issue that still persists after trying other suggested solutions尝试其他建议的解决方案后仍然存在的 rake 问题
【发布时间】:2012-02-01 05:47:13
【问题描述】:

我正在阅读教程,但遇到了 rake db:migrate 和我的 gemfile 的问题。我知道有几个答案,这个问题在这里被问到(并且回答了很多)。但由于某种原因,我要么在原地转圈,要么感到困惑,要么可能发生了我不知道的其他事情。

我已经尝试了引用 here 的答案——我跑的地方

bundle exec run rake -T

这似乎不起作用。

然后我尝试遵循引用 here 的 dhh 建议,但我的系统说我没有要卸载的 gemfile。这是我所做的:

Z-Kidds-MacBook-Air:demo_app zkidd$ rake --version
rake, version 0.9.2.2
Z-Kidds-MacBook-Air:demo_app zkidd$ gem uninstall rake -v=0.9.2.2
INFO:  gem "rake" is not installed
Z-Kidds-MacBook-Air:demo_app zkidd$ 

无论如何,这是我运行跟踪时的读数:

Z-Kidds-MacBook-Air:demo_app zkidd$ rake db:migrate --trace 耙中止! 您已经激活了 rake 0.9.2.2,但您的 Gemfile 需要 rake 0.8.7。使用 bundle exec 可以解决这个问题。 /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:31:in block in setup' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:17:insetup' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler.rb:110:in setup' /Users/zkidd/rails_projects/demo_app/config/boot.rb:8:in' /Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require' /Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' /Users/zkidd/rails_projects/demo_app/config/application.rb:1:in <top (required)>' /Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' /Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require' /Users/zkidd/rails_projects/demo_app/Rakefile:4:in' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in load' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:inload_rakefile' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:501:in raw_load_rakefile' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:82:inblock in load_rakefile' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in standard_exception_handling' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:81:inload_rakefile' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:65:in block in run' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:instandard_exception_handling' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in run' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/bin/rake:33:in' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/bin/rake:19:in load' /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/bin/rake:19:in'

我还尝试通过添加来修改我的 Gemfile

gem "rake", "0.9.2.2"

但后来我明白了:

Z-Kidds-MacBook-Air:first_app zkidd$ rake db:migrate 警告:'require 'rake/rdoctask'' 已弃用。请改用 'require 'rdoc/task' (in RDoc 2.4.2+)'。 在 /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/rdoctask.rb 警告:不推荐对 Rake DSL 方法进行全局访问。请包括 ... Rake::DSL 到使用 Rake DSL 方法的类和模块中。 警告:在 /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.0.1/lib/rails/application.rb:214 调用的 DSL 方法 FirstApp::Application#task:在“初始化任务”中 Z-Kidds-MacBook-Air:first_app zkidd$

我正在跑步:

Rails 3.0.1

【问题讨论】:

    标签: ruby-on-rails rake


    【解决方案1】:

    在您的 Gemfile 中,将 rake 的版本设置为从 0.8.7 到 0.9.2.2:

    gem "rake", "0.9.2.2"
    

    然后运行您的更新:

    bundle update
    

    实际上,我今天早些时候刚刚在我自己的一个项目中解决了这个问题。

    【讨论】:

    • 试过了,但没用。我收到一个警告:'require 'rake/rdoctask'' 已弃用。消息 - 我将其添加到问题部分
    • 即使我这样做了,我也会收到一条全球已弃用的消息:-/
    • 你运行的是什么版本的rails?我刚刚做了一个快速的谷歌搜索,这可能是旧版本 Rails 3 的错误。stackoverflow.com/questions/8702504/…
    • 是的,比旧版本的 Rails 中的错误。至少升级到 rails 3.0.9 应该可以解决问题。
    猜你喜欢
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多