문제

기계화를 필요로 할 때 IRB (v 0.9.5)에서 다음과 같은 출력을 얻습니다.

$ irb
>> require 'mechanize'
=> true
>> require 'curb'
=> true
>>  
.

아무런 문제가 없습니다.그러나 다른 순서로 libs가 필요할 때 다음을 얻습니다.

$ 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
$ 
.

사용중인 보석은 MECH 및 MECH (각각 v 0.7.15 및 1.0.0)에 가장 최근 버전입니다.Ruby의 경우 1.8.7 (위에서 볼 수 있듯이)을 사용하고 있습니다.

또한 [버그] 오류 메시지에 익숙하지 않습니다.이것은 SSL에서 알려진 버그가있는 것으로 나타 났습니까?

도움을 위해 미리 감사드립니다!

도움이 되었습니까?

해결책

Linux 또는 Mac OS에서 Mechize 및 Curb의 동일한 버전을 사용하여 복제 할 수 없습니다.

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
.

루비가 / opt이기 때문에 MacPorts 또는 유사한 것을 통해 설치 한 것으로 의심됩니다.Snow Leopard를 실행하는 경우 눈 표범이있는 DVD에 오는 Xcode는 버그가있는 것으로 알려져 있으며 SEG 오류를 일으킬 수 있습니다.Apple의 Xcode 사이트에서 최신 버전으로 업데이트하면 문제가 해결됩니다.이전 버전으로 컴파일 된 경우 Ruby를 다시 설치해야합니다.

이런 종류의 오류가 표범 아래에 루비를 32 비트로 설치 한 다음 64 비트 인 스노우 레오파드로 업그레이드하는 것입니다.말할 수있는 정보가 충분하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top