我正在尝试简单的项目和RonR,特别是尝试使用带有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]
此应用程序已请求Runtime以不寻常的方式终止它。 请联系应用程序的支持团队以获取更多信息。
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中添加了(如果尝试使用应用程序执行此操作)。我在Windows上运行Rails并且 gruff 是版本 0.3.4 ,虽然我也尝试使用最新版本 0.3.6 但是那里有同样的问题同样。
任何想法或建议都非常感谢!
答案 0 :(得分:0)
它可能与您的代码无关,但我不能积极。
分析错误:
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]
这就是说,当粗暴宝石正在执行时,当它击中base.rb文件中的第467行时,ruby抛出了一个分段错误(一个非常低级别的错误,通常是尝试访问一个没有'存在)
所以不要专注于你的代码,专注于版本(即所需的ruby版本,或者粗暴所依赖的宝石版本等)