首页 > 解决方案 > Rails 部署 Digitalocean ActiveSupport::MessageEncryptor::InvalidMessage:

问题描述

我正在按照本指南在 digitalocean 上部署应用程序:https ://www.digitalocean.com/community/tutorials/deploying-a-rails-app-on-ubuntu-14-04-with-capistrano-nginx-and-彪马#先决条件

当我使用 cap 部署时,cap production deploy:initial --trace我不断收到此错误

部署在这里停止:01 ~/.rvm/bin/rvm default do bundle exec rake assets:precompile 01 rake aborted! 01 01 ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::Inva… 01

当我在本地运行 bundle exec rake assets:precompile 我得到yarn install v1.7.0 [1/4] Resolving packages... success Already up-to-date. ✨ Done in 0.05s.

我还在 ubuntu 服务器上安装了 yarn。我已确保服务器上的 ssh 密钥与 ~/.ssh/id_rsa.pub 和 ~/.ssh/id_rsa 下的本地 ssh 密钥相同

我认为这是一个 SSH 问题,但我认为这可能是其他问题,因为我已经彻底遵循了有关 digitalocean 和其他地方的在线指南。

任何帮助,将不胜感激!

标签: ruby-on-railsnginxubuntu-14.04capistranodigital-ocean

解决方案


此错误已通过使用导出设置密钥库得到修复。

export SECRET_KEY_BASE="secret key" 

要在 rails 5.2 中查找或设置您的密钥,请使用

rails credentials:edit

或者如果你还没有设置你的编辑器

EDITOR="vim --wait" rails credentials:edit

复制该密钥,然后使用导出行


推荐阅读