[mac][rails]erdを使ってER図を作成しようとしたらエラー発生


[まとめ] 現在開催中のKindleセール情報はこちら

Ruby2.1.0 Rails4.1.1 で確認

テーブル間の関連をぱっと一覧で見たかったので、ER図を作成しようと思い rails-erd gemを使ってDB定義から自動生成しようとしたところ、エラーが発生しました。

  • graphvizインストール
brew install graphviz
  • Gemfile追加
group :development do
  gem "rails-erd", github: 'paulwittmann/rails-erd', branch: 'mavericks'
end

mavericksの場合、githubのブランチからインストールを行わないと

Graphviz produced errors. Verify it has support for filetype=pdf, or use filetype=dot.」

というエラーが発生したので注意。

—- 2015/4/6追記 —-

久しぶりにerdを試してみたところ、mavericksブランチを切り替える必要なく

gem "rails-erd"

でインストールおよびER図の作成ができました。

—- 追記ここまで —-

  • ER図生成
./bin/rake erd

Loading application environment...
Loading code in search of Active Record models...
rake aborted!
Loading models failed!
Error occurred while loading application: dlopen(xxx/rmagick-2.13.2/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libpng15.15.dylib
  Referenced from: /usr/local/lib/libfreetype.6.dylib
  Reason: image not found -xxx/rmagick-2.13.2/RMagick2.bundle (You may need to install the rmagick gem) (LoadError)

コマンドを実行したところ上記のエラーに。。。

libpngのバージョンの違いでエラーになっているようです。

brew info libpng

--------
libpng: stable 1.6.12 (bottled)
http://www.libpng.org/pub/png/libpng.html
/usr/local/Cellar/libpng/1.5.17 (15 files, 1.0M) 
  Poured from bottle
/usr/local/Cellar/libpng/1.6.12 (17 files, 1.2M) *
  Poured from bottle

libpng 1.6.12 から libpng 1.5.17 に切り替えてみたところうまく動きました。

brew switch libpng 1.5.17

再度ER図生成

bundle exec rake erd

Loading application environment...
Loading code in search of Active Record models...
Generating Entity-Relationship Diagram for X models...
Done! Saved diagram to erd.pdf.

erdお手軽で便利ですね

参考

[まとめ] 現在開催中のKindleセール情報はこちら