【问题标题】:Trouble installing Devise gem安装 Devise gem 时遇到问题
【发布时间】:2014-01-01 21:34:36
【问题描述】:

我刚刚尝试安装设计并遇到了一些问题。根据以前的经验,我知道当我安装它时,我需要执行一些手动步骤。好吧,这次没有手动步骤,但我仍然做了,因为我知道他们必须完成。所以一切正常,但我运行 rails g devise: views 这返回

/Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/devise-3.2.2/lib/devise/rails/routes.rb:469:in `raise_no_secret_key': Devise.secret_key was not set. 
Please add the following to your Devise initializer: (RuntimeError)

config.secret_key = '1ef096dceb32ce5af3b11a7ef99c00ab59b7ad90ed5dbacabe5e8cb8613e437799333b96e2045997d701a1ed1b1fde537b98f6ef1c64d247516b85c9410ad147'

Please ensure you restarted your application after installing Devise or setting the key.
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/devise-3.2.2/lib/devise/rails/routes.rb:203:in `devise_for'
  from /Users/henrywyatt/Desktop/pinteresting/config/routes.rb:2:in `block in <top (required)>'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/routing/route_set.rb:341:in `instance_exec'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/routing/route_set.rb:341:in `eval_block'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.0.2/lib/action_dispatch/routing/route_set.rb:319:in `draw'
  from /Users/henrywyatt/Desktop/pinteresting/config/routes.rb:1:in `<top (required)>'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `load'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `block in load'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:214:in `load_dependency'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `load'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/routes_reloader.rb:40:in `each'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/routes_reloader.rb:40:in `load_paths'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/routes_reloader.rb:16:in `reload!'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/routes_reloader.rb:26:in `block in updater'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/file_update_checker.rb:75:in `call'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/file_update_checker.rb:75:in `execute'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/routes_reloader.rb:27:in `updater'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/routes_reloader.rb:6:in `execute_if_updated'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/initializable.rb:30:in `instance_exec'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/initializable.rb:30:in `run'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/initializable.rb:55:in `block in run_initializers'
  from /Users/henrywyatt/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
  from /Users/henrywyatt/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
  from /Users/henrywyatt/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
  from /Users/henrywyatt/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
  from /Users/henrywyatt/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/tsort.rb:180:in `each'
  from /Users/henrywyatt/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
  from /Users/henrywyatt/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/initializable.rb:54:in `run_initializers'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application.rb:215:in `initialize!'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/railtie/configurable.rb:30:in `method_missing'
  from /Users/henrywyatt/Desktop/pinteresting/config/environment.rb:5:in `<top (required)>'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `block in require'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:214:in `load_dependency'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/application.rb:189:in `require_environment!'
  from /Users/henrywyatt/.rvm/gems/ruby-2.0.0-p353/gems/railties-4.0.2/lib/rails/commands.rb:44:in `<top (required)>'
  from bin/rails:4:in `require'
  from bin/rails:4:in `<main>'

【问题讨论】:

  • 您只需将config.secret_key = '1ef096dceb32ce5af3b11a7ef99c00ab59b7ad90ed5dbacabe5e8cb8613e437799333b96e2045997d701a1ed1b1fde537b98f6ef1c64d247516b85c9410ad147' 添加到您的设计文件中,就是这样...... :)

标签: ruby devise gem


【解决方案1】:

你需要添加

config.secret_key = '1ef096dceb32ce5af3b11a7ef99c00ab59b7ad90ed5dbacabe5e8cb8613e437799333b96e204599‌​7d701a1ed1b1fde537b98f6ef1c64d247516b85c9410ad147'

到您的设计文件 (config/initializers/devise_initializer.rb)。

【讨论】:

  • 问题是我没有(config/initializers/devise_initializer.rb)。
  • 那么你可能没有先运行rails generate devise:install。这样做,您将安装设计。
【解决方案2】:

如果你在生产中不要把它放在任何配置文件中,而是把它作为环境变量 rails 4 有一个 secret.yml 文件,其中有一行

secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

你只需要设置 ENV["SECRET_KEY_BASE"]

我不确定,但密钥是任何字符串

【讨论】:

    【解决方案3】:

    我也有同样的问题 但在重新启动我的 Rails 服务器后解决了它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 2015-07-12
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多