Ruby on rails 升级到rails 5.2后如何获取rails master.key
所以我把我正在开发的一个应用升级到rails 5.2,它在Heroku上崩溃了。我想这是因为我的/config文件夹中没有master.key文件。我仍然有以前rails版本中的secrets.yml文件。我必须做些什么来解决这个问题? 谢谢 heroku日志中出现错误:Ruby on rails 升级到rails 5.2后如何获取rails master.key,ruby-on-rails,ruby,heroku,ruby-on-rails-5,Ruby On Rails,Ruby,Heroku,Ruby On Rails 5,所以我把我正在开发的一个应用升级到rails 5.2,它在Heroku上崩溃了。我想这是因为我的/config文件夹中没有master.key文件。我仍然有以前rails版本中的secrets.yml文件。我必须做些什么来解决这个问题? 谢谢 heroku日志中出现错误: 2019-01-28T21:07:46.922561+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/aws-sdk-s3-1.30.1/lib/aws-sdk-s3/
2019-01-28T21:07:46.922561+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/aws-sdk-s3-1.30.1/lib/aws-sdk-s3/bucket.rb:684:in `extract_name': Cannot load `Rails.config.active_storage.service`: (ArgumentError)
2019-01-28T21:07:46.922573+00:00 app[web.1]: missing required option :name
您必须生成master.key和credentials.yml.enc。要执行此操作,只需运行以下命令:
run EDITOR=vim rails credentials:edit
(作为编辑器,您可以使用其他工具,例如atom或nano)
在打开的编辑器中,您可以键入凭据并保存它。Rails使用master.key对凭证进行加密。您可以在这里找到更多信息:
要使加密凭据在Heroku上工作,可以从master.key复制密钥,并使用它设置RAILS\u master\u key
environment变量。您可以通过Heroku Dashboard或Heroku CLI实现这一点,如下所示:
$ heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
有几件事。从我个人的经验来看,我已经将几个Rails应用程序升级到了5.2,并且我能够在没有此功能的情况下部署到Heroku。所以我不认为这是必要的
如果您可以运行heroku logs--tail--app并向我们显示应用程序失败原因的堆栈跟踪,那肯定会有所帮助 您可以使用以下命令生成master.key文件:
$ EDITOR=vim rails credentials:edit
其示例输出如下所示:
Adding config/master.key to store the master encryption key: <YOUR_MASTER_KEY>
Save this in a password manager your team can access.
If you lose the key, no one, including you, can access anything encrypted with it.
create config/master.key
Ignoring config/master.key so it won't end up in Git history:
append .gitignore
添加config/master.key以存储主加密密钥:
将其保存在您的团队可以访问的密码管理器中。
如果您丢失了密钥,那么包括您在内的任何人都无法访问任何使用该密钥加密的内容。
创建config/master.key
忽略config/master.key,这样它就不会出现在Git历史记录中:
append.gitignore
请查看官方文档:您好,感谢您的帮助,我在日志中添加了导致崩溃的原因。这有用吗?谢谢。我肯定会运行
rake应用程序:update
。这看起来像是与ActiveStorage有关的一般性错误。可能您的初始值设定项没有更新,或者您缺少一些较新的初始值设定项?我运行了该命令,但仍然出现相同的错误。如果是我的初始值设定人,我能做些什么来修复它?非常感谢。您还需要在config/environments/production.rb