roy*_*aar 16 production ruby-on-rails
我正在运行Ruby 2.5.1和Rails 5.2.0.我跑了rails s -e production,它给出了这个错误:
/home/roy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/activesupport-5.2.0/lib/active_support/message_encryptor.rb:206:in `rescue in_decrypt': ActiveSupport::MessageEncryptor::InvalidMessage
(ActiveSupport::MessageEncryptor::InvalidMessage)
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
编辑: 每当我尝试使用编辑凭证文件时,都会出现相同的错误
EDITOR="nano --wait" bin/rails credentials:edit
Run Code Online (Sandbox Code Playgroud)
我也意识到我还没有创建一个生产数据库,所以我尝试使用它
RAILS_ENV=production bundle exec rails db:reset
Run Code Online (Sandbox Code Playgroud)
(我知道db:reset有点多余但它应该可以尝试创建,迁移和播种服务器)
可悲的是我得到了同样的错误(InvalidMessage错误)
Unsupported rails environment for compass
rake aborted!
ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage
/home/roy/apps/myappname/config/environment.rb:5:in `<main>'
/home/roy/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/home/roy/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Caused by:
OpenSSL::Cipher::CipherError:
/home/roy/apps/myappname/config/environment.rb:5:in `<main>'
/home/roy/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/home/roy/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Tasks: TOP => db:create => db:load_config => environment
Run Code Online (Sandbox Code Playgroud)
roy*_*aar 33
好吧,我终于开始工作了.
我只是删除了我的master.key和credentials.yml.enc文件,然后运行
bin/rails credentials:edit
Run Code Online (Sandbox Code Playgroud)
哪个创建了新文件.之后一切正常.
我真的不明白为什么它有效.谁能给出一个很好的解释呢?
小智 9
看来您的解决方案是删除master.key并credentials.yml.enc表明您正在运行 Rails 5.2。此设置由secrets.yml.encRails 5.1 中使用的类似加密文件更改而来。
目标是允许将密钥(AWS、Rails' secrect_key_base)提交到项目的代码存储库。这些通常会使用 ENV 变量进行设置。现在协作者只需要共享master.key生成的解密和修改或读取credentials.yml.enc.
当您删除master.key和credentials.yml.enc文件时,rails 生成了一个新对,现在您可以解密,credentials.yml.enc并且使用新的 Railssecret_key_base值初始化该文件,以避免ActiveSupport::MessageEncryptor::InvalidMessage. 如果您追踪该消息的来源,它可能会引用 Rails 凭据密钥库:Rails.application.credentials.secret_key_base。
这些是关于该主题的好文章:
https
: //medium.com/cedarcode/rails-5-2-credentials-9b3324851336 https://www.engineyard.com/blog/rails-encrypted-credentials-on-rails- 5.2
| 归档时间: |
|
| 查看次数: |
6999 次 |
| 最近记录: |