弃用警告:您在供应商/插件中拥有Rails 2.3风格的插件!支持将在Rails 4.0中删除

时间:2012-04-10 20:59:06

标签: ruby-on-rails git heroku rake dbmigrate

  

可能重复:
  Rails 2.3-style plugins and deprecation warnings running task in Heroku

我正在运行rake db:migrate会给我以下警告,然后中止:

$ heroku rake db:migration --trace
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support forthese plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
rake aborted!
Don't know how to build task 'db:migration'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task_manager.rb:49:in `[]'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:115:in`invoke_task'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/app/.bundle/gems/ruby/1.9.1/bin/rake:19:in `load'
/app/.bundle/gems/ruby/1.9.1/bin/rake:19:in `<main>'

当我检查vendor/plugins文件夹时,我只找到一个名为.gitkeep的文件并且为空

3 个答案:

答案 0 :(得分:20)

作为一个FYI,以防由于问题标题而人们从搜索引擎到达此处。 弃用警告是由Heroku注入插件引起的 - 请参阅Jared Beck对此问题的回答:Rails 2.3-style plugins and deprecation warnings running task in Heroku

以上nzifab提出的解决方案对于潜在问题有效,但这不是问题标题中提出的问题

答案 1 :(得分:2)

vendor/plugins这里不是问题,那些只是警告。这是heroku run rake db:migrate ..

如果你不在Cedar堆栈上,那么

可能只是heroku rake db:migrate(注意migrate,而不是migration

答案 2 :(得分:1)

我的感受是, 您必须在任何gems中进行一些更改,并将层次结构和文件复制到“..app / vendor / plugins”文件夹中。

如果是这种情况,那么这只是一个警告,告诉你应该在“lib”文件夹中复制插件。 当你开始使用webrick时,你必须看到相同的结果。