環境
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
問題点
- $ brew install graphvizで、インストールはされるみたいだが、最後の行に、
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
が表示される。 - $ 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で開いてみる。
無事に生成できた。
さいごに
問題点1に関しても上記をした後に再度インスールをしてみたらエラーっぽい表記が消えていた。homebrewが30日でcleanupするのが原因ぽいので、下記の対応をしたが治らなかったから、クリティカルな対策にはならなかったみたい。
~/.zshrc
# homebrewの設定
export HOMEBREW_NO_INSTALL_CLEANUP=1