【问题标题】:Rails 4.2.3 secret_key_base not being set from secrets.yml for development/test environments with all other variables being set correctlyRails 4.2.3 secret_key_base 没有从 secrets.yml 设置为开发/测试环境,所有其他变量都正确设置
【发布时间】:2016-01-06 11:48:58
【问题描述】:

我正在运行一个 Rails 4.2.3 应用程序,该应用程序在部署时在生产环境中运行,并通过 Heroku 设置环境变量。但是,我的开发和测试环境突然开始出现此错误:

DEPRECATION WARNING: You didn't set `secret_key_base`. Read the upgrade documentation to learn more about this new config option. (called from service at /Users/Benjamin/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:138)

根据我在 StackOverflow 和其他地方找到的所有内容,这可能与我的 secrets.yml 文件有关:

发展: secret_key_base:长密钥 测试: secret_key_base:长密钥

我已尝试使用

重置这些键
rake secret
无济于事。我在 secrets.yml 中设置了其他已正确设置的环境变量,但是当我从控制台运行 Rails.application.secrets.secret_key_base 时,我一直为零。

任何帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 environment-variables development-environment


    【解决方案1】:

    当您说您尝试使用 rake secret 重置它们时,您是什么意思?您将密钥从控制台复制并粘贴到 secrets.yml 到正确的位置并保存?只要两个密钥都在那里,至少有 30 个字符长(在你使用 rake secret 的情况下,它们将是 128 个字符长)你应该已经准备好了。我假设您的 secrets.yml 文件位于 config/.

    此外,弃用警告是警告而不是错误。只要密钥在 secrets.yml 中,您就不必做任何其他事情。运行 rake secret 并用新的密钥替换密钥是不必要的,只要你有密钥(至少 30 个字符),密钥是什么都没关系。

    希望这会有所帮助。如果您仍然遇到困难,请发布运行时错误,希望它能提供更多关于问题所在的信息。

    【讨论】:

    • 他的意思很可能是他使用rake secret生成了新密钥并将它们复制粘贴到secrets.yml
    【解决方案2】:

    这不太可能是您的问题,但我在这个问题上花了 小时,这也给了我相同的错误消息,即没有为生产 rails 服务器启动设置“secret_key_base”。 我正在运行 Rails 版本。 4.2.5.1,红宝石版本。 2.3.0,WEBrick 1.3.1,开发和生产服务器在 CentOS 6.6 Linux 机器上实验性地运行。我的错误是一个完全新手的事情.. 根据 Rails 文档和其他 Stackoverflow 报告,我已按照步骤为生产配置 SECRET_BASE_KEY,并且正在使用 secrets.yml 文件,环境变量用于设置密钥。但我正在启动我的生产服务器:

    bin/rails 服务器 --binding=0.0.0.0 -p 3000 -e=production

    这是错误的。短格式“-e”参数没有等号。但我得到的错误是因为 secrets.yml 文件中的代码正在寻找名为“=production:”的东西,而标签是“production:”。以生产模式启动服务器的正确表达式当然是:

    bin/rails 服务器 --binding=0.0.0.0 -p 3000 -e 生产

    另一个线索是服务器报告“config.eager_load”设置为 nil,而实际上它被配置为在 ../config/environments/production.rb 文件中设置。

    希望这可以帮助某人。我是 Rails+Ruby 的新手,但我终于有了一个在生产模式下运行的测试台服务器,并按预期应用了各种配置设置。

    【讨论】:

      猜你喜欢
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 2013-04-26
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 2016-03-20
      相关资源
      最近更新 更多