LoginSignup
2
1

More than 5 years have passed since last update.

rails-erdで「Graphviz produced errors. Verify it has support for filetype=pdf~Original error: Format: "pdf" not recognized.~」とエラーが出た時の対処

Last updated at Posted at 2017-07-01

現象

RailsでER図を自動生成してくれるrails-erdを使ってみたところ、"pdf"が認識されない!といった旨のエラーが発生。
※graphvizはインストール済み

# rake erd
Loading application environment...
Loading code in search of Active Record models...
Generating Entity-Relationship Diagram for 11 models...
rake aborted!
Saving diagram failed!
Graphviz produced errors. Verify it has support for filetype=pdf, or use filetype=                                                    dot.
Original error: Format: "pdf" not recognized. Use one of: canon cmap cmapx cmapx_n                                                    p dot eps fig gv imap imap_np ismap pic plain plain-ext pov ps ps2 svg svgz tk vml                                                     vmlz xdot xdot1.2 xdot1.4

Error from ["/usr/bin/dot", "-q1", "-Tpdf", "-oerd.pdf", "/tmp/graphviz.rb20170701                                                    -2024-1dwwpak"]:
Format: "pdf" not recognized. Use one of: canon cmap cmapx cmapx_np dot eps fig gv                                                     imap imap_np ismap pic plain plain-ext pov ps ps2 svg svgz tk vml vmlz xdot xdot1                                                    .2 xdot1.4

Tasks: TOP => erd => erd:generate
(See full trace by running task with --trace)

実行環境

CentOS 7.3
Ruby 2.4.0
Ruby on Rails 5.0.2

原因と対処

Graphvizのインストールミス。PDFをサポートするためには、事前にCairoとPangoというものをインストールしなければいけないらしいです。Cairoは2Dグラフィクスライブラリ、Pangoは多言語テキスト表示ライブラリで、いかにもGraphvizと関連してますね。
これらを入れる順番も重要だそうです(Cairo→Pango→Graphvizの順)。
ということで、Graphvizをインストールし直せば良さげです。

Graphizのアンインストール

# sudo yum remove -y graphviz

※ cairo, pangoの入れる順番を間違えているときはここでアンインストール

Cairo, Pango, Graphizのインストール

# sudo yum install -y cairo pango graphviz

再びrails-erdを実行


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

無事ER図ができました!

CoreText performance note: Client called~とエラーが出た時の対処法

別件ですがMac環境ではフォントの問題でエラーが発生することがあるらしいです。
そのときはgemインストールの際に以下のようにリポジトリを指定してやるといいそう。

+ gem 'rails-erd', github: 'paulwittmann/rails-erd', branch: 'mavericks'

参考

rails-erd
rails-erd issue#12
Qiita - Rails でモデルの情報を図にする方法 -Qiita

2
1
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
2
1