You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

误编辑credentials.yml.enc撤销后报错,求解决方案(可重建凭证)

解决Rails credentials解密失败的问题

你的情况是因为手动修改了加密后的credentials.yml.enc文件——这个文件是二进制加密格式,并非纯文本,哪怕用ctrl+z撤销修改,文件的加密校验结构已经被破坏,导致原master.key无法正常解密它。既然项目还没上线,直接重建credentials是最快捷的方案,步骤如下:

  1. 删除损坏的文件

    • 删除项目根目录下的config/credentials.yml.enc
    • 删除config/master.key(这个文件本来就不该提交到版本库,本地删除完全没问题)
  2. 重新生成credentials
    在终端运行:

    rails credentials:edit
    

    这个命令会自动生成新的credentials.yml.enc和master.key,同时打开你的默认文本编辑器(如果没自动打开,可指定编辑器,比如EDITOR=nano rails credentials:edit)。

  3. 恢复配置内容(如果有)
    把你之前在credentials里配置的内容(比如数据库密码、第三方API密钥等)重新输入到编辑器里,保存退出即可。

  4. 验证修复效果
    运行rails credentials:show,如果能正常显示加密内容,说明重建成功;再启动服务器rails s,之前的ActiveSupport::MessageEncryptor::InvalidMessage错误应该就消失了。

内容的提问来源于stack exchange,提问作者Augusto Barbosa Arraes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 15:09:51