0
0

More than 1 year has passed since last update.

【Rails】gem 'rails-erd'を使用するとFailed: ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessageが発生

Last updated at Posted at 2022-08-13

環境

No 項目 内容
1 OS Mac
2 Ruby 2.6.3
3 rails 6.0.4
4 Homebrew 3.5.9

はじめに

gem 'rails-erd'を使用してER図を作成してもらおうと思った。そこで以下のところでつまづいたため、どう解決したかを記載していく。

現状

こちらを参考にgemのインストール〜実行まで進めていった。
homebrew経由でgraphvizをインストールする。

ターミナル
$ brew install graphviz
...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.

使用するgemを設定する。

Gemfile
group :development, :test do
  gem 'rails-erd'
end
ターミナル
$ bundle install

実行する。

ターミナル
$ bundle exec erd
Loading application in 'アプリ名'...
Failed: ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage

問題点

  1. $ brew install graphvizで、インストールはされるみたいだが、最後の行に、Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.が表示される。
  2. $ bundle exec erdで実行しても、Failed: ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessageになる。

結論

まずは、こちらの記事を参考にgraphvizをインストールした。

その後、こちらの記事を参考にして対策した。
問題点1と2どちらも、credentials.yml.encファイルを削除してから、rails credentials:editコマンドもう一度実行することで、解決した。

ターミナル
$ sudo EDITOR=vim rails credentials:edit
Password:
File encrypted and saved.

これで、もう一度rails-erdを実行する。

$ bundle exec erd
...
Diagram saved to 'erd.pdf'.

生成されたerd.pdfをWEBで開いてみる。
スクリーンショット 2022-08-13 17.29.50.png
無事に生成できた。

さいごに

問題点1に関しても上記をした後に再度インスールをしてみたらエラーっぽい表記が消えていた。homebrewが30日でcleanupするのが原因ぽいので、下記の対応をしたが治らなかったから、クリティカルな対策にはならなかったみたい。

~/.zshrc
# homebrewの設定
export HOMEBREW_NO_INSTALL_CLEANUP=1

参考

credentials.yml.encについて

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0