Ruby on rails Gruff中的分段错误使我无法生成简单的图表

Ruby on rails Gruff中的分段错误使我无法生成简单的图表,ruby-on-rails,rmagick,gruff,Ruby On Rails,Rmagick,Gruff,我正在试验简单的项目和RonR,特别是尝试使用粗糙的gem和rmagick以及image magic生成一些图形。一切都已成功安装,但当我运行带有图表的简单.rb时,它会给我以下信息: C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/gruff-0.3.4/lib/gruff/base.rb:467:[BUG]分段错误 ruby 1.8.7(2011-06-30 patchlevel 352)[i386-mingw32] 此应用程序已请求运行

我正在试验简单的项目和RonR,特别是尝试使用粗糙的gem和rmagick以及image magic生成一些图形。一切都已成功安装,但当我运行带有图表的简单.rb时,它会给我以下信息:

C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/gruff-0.3.4/lib/gruff/base.rb:467:[BUG]分段错误 ruby 1.8.7(2011-06-30 patchlevel 352)[i386-mingw32]

此应用程序已请求运行时以异常方式终止它。 有关更多信息,请联系应用程序的支持团队

base.rb文件中的行引用了这段代码:

# Writes the graph to a file. Defaults to 'graph.png'
#
# Example:
#   write('graphs/my_pretty_graph.png')
def write(filename="graph.png")
   draw()
   @base_image.write(filename)
end
同时,我试图绘制的简单图形似乎足够简单,它来自Gruff网站的一个示例:

#!/usr/bin/ruby

require 'rubygems'
require 'gruff'
g = Gruff::Bar.new('800x500') # Define a custom size
g.sort = false  # Do NOT sort data based on values
g.maximum_value = 50  # Declare a max value for the Y axis
g.minimum_value = 0   # Declare a min value for the Y axis
g.theme_37signals  # Declare a theme from the presets available

g.title = 'A more advanced bar chart'

g.data('Foo', [5, 10, 24])
g.data('Bar', [15, 3, 10])
g.data('Else', [38, 15, 32])

g.labels = {0 => 'Last year', 1 => 'This year', 2 => 'Next year'} # Define labels for each of the "columns" in data

g.write('a_more_advanced_graph.png')
我要么尝试在irb中加载上面的.rb脚本,要么直接在控制器中加载它。两种方法都失败了

即使尝试在控制器中绘制图形,然后在视图中显示,也会再次失败。每次都会出现相同的分割错误

请注意,我已经安装了gems,并在Gemfile中添加了gems(如果尝试使用应用程序来实现)。我在Windows上运行Rails,gruff是0.3.4版,虽然我也尝试了最新的0.3.6版,但同样的问题也存在


非常感谢您的任何想法或建议

这可能与您的代码无关,但我不能肯定

分析错误:

C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/gruff-0.3.4/lib/gruff/base.rb:467:
   [BUG] Segmentation fault ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]
也就是说,当gruff gem执行时,当它到达base.rb文件的第467行时,ruby抛出了一个分段错误(一个非常低级的错误,通常是试图访问一个不存在的内存位置)


因此,不要把重点放在代码上,而是放在版本上(即需要ruby的版本,或者gruff所依赖的gems的版本等等)

我仍然无法在windows下解决这个问题,所以我转向了强大的linux:),因为你可以预期那里一切都很顺利。因此,问题确实不在我的代码中,但最有可能的是与Image Magic和RMagick的依赖关系,导致粗暴地中断IRB。