Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 路缘石+;机械化=故障?_Ruby_Segmentation Fault_Mechanize_Irb_Curb - Fatal编程技术网

Ruby 路缘石+;机械化=故障?

Ruby 路缘石+;机械化=故障?,ruby,segmentation-fault,mechanize,irb,curb,Ruby,Segmentation Fault,Mechanize,Irb,Curb,当我需要机械化然后抑制时,我从irb(V0.9.5)获得以下输出: $ irb >> require 'mechanize' => true >> require 'curb' => true >> 没问题。但是,当我以其他顺序要求LIB时,我得到以下结果: $ irb >> require 'curb' => true >> require 'mechanize' /opt/local/lib/ruby/1.8

当我需要机械化然后抑制时,我从irb(V0.9.5)获得以下输出:

$ irb
>> require 'mechanize'
=> true
>> require 'curb'
=> true
>>  
没问题。但是,当我以其他顺序要求LIB时,我得到以下结果:

$ irb
>> require 'curb'
=> true
>> require 'mechanize'
/opt/local/lib/ruby/1.8/openssl/ssl-internal.rb:30: [BUG] Segmentation fault
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10]

Abort trap
$ 
我使用的gems是用于路缘和机械的最新版本(分别为V0.7.15和1.0.0)。对于ruby,我使用1.8.7(如上所示)

另外,我不熟悉[BUG]错误消息。这是否意味着我在ssl中遇到了已知的错误


提前感谢您的帮助

我无法在Linux或Mac OS上使用相同版本的Mechanize和Urb复制它:

Welcome to IRB. You are using ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]. Have fun ;)
>> require 'rubygems' #=> false
>> require 'curb' #=> true
>> require 'mechanize' #=> true

Welcome to IRB. You are using ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-darwin10.6.0]. Have fun ;)
>> require 'rubygems' #=> false
>> require 'curb' #=> true
>> require 'mechanize' #=> true
因为您的Ruby在/opt中,我怀疑您是通过MacPorts或类似的方式安装的。如果您正在运行SnowLeopard,则DVD上与SnowLeopard一起出现的XCode被认为是有缺陷的,可能会导致seg故障。从苹果的XCode网站将其更新到最新版本将解决这个问题。如果Ruby是在旧版本下编译的,您可能应该重新安装它


我看到的另一个可能导致这种错误的问题是在Leopard下安装Ruby作为32位,然后升级到64位的Snow Leopard。没有足够的信息可以告诉你。

谢谢tin man。对不起,我的帖子里没有信息。我正在运行SnowLeopard,很可能是在Leopard上安装了Ruby。不久前我已经重新安装了XCode,所以我尝试重新安装Ruby(通过MacPorts),但不幸的是,没有成功地解决这个问题。我不知道如何强制重新安装MapPorts。对于RVM,它将是
RVM卸载1.9.2
,然后是
RVM安装1.9.2
,这将导致重新编译,并导致新版本处于正确的“比特状态”。