【问题标题】:Deploying Rails on Heroku after removing Devise gem移除 Devise gem 后在 Heroku 上部署 Rails
【发布时间】:2012-12-25 19:36:00
【问题描述】:

我正在尝试在 Heroku 上部署我的第一个 rails 应用程序。我正在使用设计进行身份验证,但我的需求发生了变化,所以我删除了它,现在正在使用巫术。

一切都在本地工作,但在部署时,我在迁移我的数据库时收到以下消息:

Running `rake db:migrate` attached to terminal... up, run.5220
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!
uninitialized constant Devise
/app/config/initializers/devise.rb:3:in `<top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:587:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:587:in `block in <class:Engine>'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `instance_exec'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `run'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `each'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `run_initializers'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/application.rb:136:in `initialize!'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
/app/config/environment.rb:5:in `<top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/application.rb:103:in `require_environment!'
/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/application.rb:295:in `block (2 levels) in initialize_tasks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

我似乎找不到任何关于设计的剩余提及。有没有其他人在移除 gem 后遇到过这样的问题?

谢谢!

【问题讨论】:

  • 您可以使用编辑器以区分大小写的方式在整个代码库中搜索Devise,以查找任何意外的余数。

标签: ruby-on-rails deployment heroku devise gem


【解决方案1】:

您还需要删除设计初始化文件/app/config/initializers/devise.rb

【讨论】:

  • 该文件不存在:screencast.com/t/h6wsHgnUHS50 git 在后台保存旧副本是否可能存在某种问题?
  • @Nathan,尝试运行heroku run ls /app/config/initializers?
  • 啊是的。它在那里列出。我可以像往常一样通过终端删除吗?
  • 不,Heroku 将重新创建它,因为它似乎存在于您的 git 存储库中。运行git rm --cached config/initializers/devise.rb(并提交和推送),因为您可能只是直接从文件系统中删除了它,而不是使用git rm
猜你喜欢
  • 2014-04-07
  • 2014-05-21
  • 2023-04-01
  • 1970-01-01
  • 2015-04-23
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多