iJK*_*iJK 5 ruby-on-rails ruby-on-rails-5 ruby-on-rails-5.2
我将我的密钥存储在环境中,并且 /config/environments/Production.rb 具有 config.require_master_key = true 未注释
config.require_master_key = true
Run Code Online (Sandbox Code Playgroud)
跑步时
RAILS_ENV=production bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
我收到错误
/Users/something/Development/wwwroot/trivial/config/environment.rb:5:in `<main>'
/Users/something/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/Users/something/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Caused by:
ArgumentError: key must be 16 bytes
/Users/something/Development/wwwroot/trivial/config/environment.rb:5:in `<main>'
/Users/something/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/Users/something/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Tasks: TOP => environment
Run Code Online (Sandbox Code Playgroud)
关于如何修复此错误有什么想法吗?我还可以做些什么?
你的问题是你生成的密钥比rails期望的更长https://github.com/rails/rails/issues/33528#issuecomment-412677795
解决方案
您可以通过删除 master.key 和credentials.yml.enc 来重新创建一个新密钥并运行
rails credentials:edit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8773 次 |
| 最近记录: |