运行heroku时,Heroku Config Secret Key Base出错

时间:2014-08-11 19:37:06

标签: ruby-on-rails ruby

运行" heroku打开"

时出现此错误

"内部服务器错误

您必须在应用的配置中设置config.secret_key_base。"

我已尝试过这个帖子中的所有内容:

Heroku Config Secret Key Base Error

  • 在config / initializers / secret_token.rb中设置MyApp :: Application.config.secret_token = ENV [' SECRET_TOKEN']
  • 创建了一个内容为SECRET_TOKEN = NKUd7gisd7fueAISDfg ....的文件。
  • 将我的.gitignore文件更新为如下所示

我还尝试了什么:

  • 我添加了:DemoApp :: Application.config.secret_key_base = ENV [' SECRET_TOKEN']至secret_token.rb文件

  • 使用figaro创建一个application.yml文件并使用我自己的SECRET_TOKEN粘贴SECRET_TOKEN:9489b3eee4eccf317ed77407553e8adc97baca7c74dc7ee33cd93e4c8b69477eea66eaedeb18af0be2679887c7c69c0a28c0fded0a71ea472a8c4abf3f0a19cb

  • 跑了rake figaro:heroku

我仍然收到内部服务器错误。如果这是一个完整的小问题,请道歉,但这是我第一次尝试使用" heroku open"命令。

谢谢, 大卫

2 个答案:

答案 0 :(得分:2)

好的,来自heroku的工作人员帮助证明我的config / initializers文件夹没有推送到git。

然后这两个帖子解决了它:

Config/initializers not pushing to repo

No submodule mapping found in .gitmodules for path

祝你好运

答案 1 :(得分:0)

要在Heroku上设置环境变量,您需要使用本地计算机上的Heroku Toolbelt

heroku config:set SECRET_TOKEN=f489b3eee4eccf317ed77407553e8adc97baca7c74dc7ee33cd93e4c8b69477eea66eaedeb18af0be2679887c7c69c0a28c0fded0a71ea472a8c4abf3f0a19ca

(显然,将上面的代币替换为您自己的代币)

然后确保MyApp::Application.config.secret_token = ENV['SECRET_TOKEN']文件中有config/initializers/secret_token.rb

有关详细信息,请参阅Setting up config vars for a deployed application

另外,请确保您已在config/secrets.yml文件中为生产环境添加了secret_key_base条目:

production:
  secret_key_base: 527dacc0390e10df59278f1a18aa8ad14e429fa6ce522e5fb3b7ac358007dff4

请勿使用此处发布的密钥。您可以使用rake任务生成一个新任务并将其粘贴到config/secrets.yml文件

bundle exec rake secrets