【问题标题】:Rails Deploy Digitalocean ActiveSupport::MessageEncryptor::InvalidMessage:Rails 部署 Digitalocean ActiveSupport::MessageEncryptor::InvalidMessage:
【发布时间】:2023-03-10 12:10:02
【问题描述】:

我正在按照本指南在 digitalocean 上部署一个应用程序:https://www.digitalocean.com/community/tutorials/deploying-a-rails-app-on-ubuntu-14-04-with-capistrano-nginx-and-puma#prerequisites

当我使用 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-rails nginx ubuntu-14.04 capistrano digital-ocean


    【解决方案1】:

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

    export SECRET_KEY_BASE="secret key" 
    

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

    rails credentials:edit
    

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

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

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

    【讨论】:

    • 复制密钥?存在于 credentials.yml.enc 中?还是master.key? @chrichar
    • rails credentials:edit 已经生成了一个 master.key。这只是使用类似于环境变量的另一种方式。你得到什么样的错误?如果您在 ubuntu 服务器上进行部署,主要的收获是您的 ssh 密钥可能存在问题。确保 ~/.ssh/id_rsa 和 ~/ssh/id_rsa.pub 中的本地 ssh 密钥与存储在服务器上相同位置的服务器的 ssh 密钥匹配。还要确保您已将 id_rsa.pub 密钥添加到 github
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多