我在Rails 5.1上,在Mac上运行Sierra。我已经阅读并尝试了其他类似问题(1,2)中列出的解决方案。我有3个不同的Rails项目,我在所有项目上都安装了rails-erd,但其中一个项目不起作用。
当我运行rails ert --trace时
>rails erd --trace
** Invoke erd (first_time)
** Invoke erd:generate (first_time)
** Invoke erd:check_dependencies (first_time)
** Execute erd:check_dependencies
** Invoke erd:options (first_time)
** Execute erd:options
** Invoke erd:load_models (first_time)
** Execute erd:load_models
Loading application environment...
** Invoke environment (first_time)
** Execute environment
Loading code in search of Active Record models...
** Execute erd:generate
Generating Entity-Relationship Diagram for 13 models...
rails aborted!
Saving diagram failed!
Verify that Graphviz is installed and in your path, or use filetype=dot.
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram/graphviz.rb:211:in `rescue in block in <class:Graphviz>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram/graphviz.rb:202:in `block in <class:Graphviz>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:169:in `instance_eval'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:169:in `save'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:120:in `create'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:74:in `create'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/tasks.rake:55:in `block (2 levels) in <top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `each'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:216:in `block in invoke_prerequisites'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in `each'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in `invoke_prerequisites'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:193:in `block in invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `each'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/rake/rake_command.rb:21:in `block in perform'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:46:in `invoke'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands.rb:16:in `<top (required)>'
/Users/jaysonwhelpley/Sites/biq/bin/rails:9:in `require'
/Users/jaysonwhelpley/Sites/biq/bin/rails:9:in `<top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/Users/jaysonwhelpley/Sites/biq/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
NoMethodError: undefined method `zero?' for nil:NilClass
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/ruby-graphviz-1.2.3/lib/graphviz/utils.rb:58:in `output_from_command'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/ruby-graphviz-1.2.3/lib/graphviz.rb:600:in `output'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram/graphviz.rb:204:in `block in <class:Graphviz>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:169:in `instance_eval'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:169:in `save'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:120:in `create'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/diagram.rb:74:in `create'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rails-erd-1.5.2/lib/rails_erd/tasks.rake:55:in `block (2 levels) in <top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `each'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:216:in `block in invoke_prerequisites'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in `each'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:214:in `invoke_prerequisites'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:193:in `block in invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `each'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/rake/rake_command.rb:21:in `block in perform'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:46:in `invoke'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands.rb:16:in `<top (required)>'
/Users/jaysonwhelpley/Sites/biq/bin/rails:9:in `require'
/Users/jaysonwhelpley/Sites/biq/bin/rails:9:in `<top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/Users/jaysonwhelpley/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/Users/jaysonwhelpley/Sites/biq/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => erd => erd:generate我已经安装了graphviz。
rake erd filetype=dot命令运行得很好,但尝试使用以下选项:
erd --inheritance --direct --attributes=foreign_keys,content --filetype=dot
dot -Tjpg erd.dot > erd.jpg它只会创建一个空的erd.jpg。
有什么帮助吗?
发布于 2017-11-07 05:21:02
我也遇到了类似的问题,我做了以下事情:
需要'rails_erd/ Domain / Relationship‘模块RailsERD类域类关系类<<自身私有定义关联association_identity(关联)Setassociation_owner(关联),association_target(关联) end
rake erd filetype=dot --trace
dot -Tpdf -oERD.pdf -v erd.dot
https://stackoverflow.com/questions/46006599
复制相似问题