2010-03-30 1 views
1

내 루비 젬, 특히 네이티브 확장을 사용하는 루비 젬에 문제가 있습니다.OS X에서 네이티브 보석 확장 기능을 만들었지 만로드에 실패하게 된 원인은 무엇입니까?

저는 MacBookPro와 Snow Leopard를 사용하고 있습니다. gcc 4.2.1이 설치된 Xcode 3.2.1이 설치되어 있습니다. 루비 1.8.6, 왜냐하면 나는 게으르고 무서운 고양이이고 아직 업그레이드하고 싶지 않습니다. Ruby는 32 비트 모드로 실행됩니다. 내 MBP가 OSX 10.4를 실행할 때이 루비를 처음부터 만들었습니다.

irb에서 영향을받는 보석 중 하나를 필요로 할 때 보석 확장의 번들 파일에 대한로드 오류가 발생합니다. 예를 들어, 다음 nokogigi 나를 버린 것이 없어지있어이 또한 포스트 그레스 페이지와 MongoDB를의 몽고 보석으로 일어나고

> require 'rubygems'
=> true
> require 'nokogiri'
LoadError: Failed to load /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.bundle

.

내 첫 번째 생각은 확장 프로그램이 올바르게 빌드되지 않아야한다는 것입니다. 그러나 gem install은 어떤 오류도 발생시키지 않았습니다. 그래서 나는 도움이되는 경고를보기를 희망하면서 장황한 플래그로 다시 설치했다. I've put the output in a Pastie이고 내가 본 유일한 경고는 "프로토 타입으로 인해 '너비가 다른'foo '의 인수 n 전달에 대한 일관성있는 경고입니다."

이것이 Snow Leopard로 업그레이드 할 때 문제가 될 수 있다고 생각되지만, 필자는 Xcode를 업데이트 한 이후로 지금은 조금 놀랐습니다. 1.8.6에서 Ruby를 돌릴 수 있습니까? Mac과 OSX에 대해 다음에 어디를보아야하는지 모를 정도로 당혹 스럽기 때문에 Google을 통해 찾을 수없는 일부 문서에 대한 지침 만 제공해도 좋습니다.

마이클 나는 GCC 출력/옵션/지역 물건을 많이 볼 수

+0

실행중인 루비 실행 파일이 MacOS X 또는 MacOS X에 포함되어 있는지 확인 했습니까? –

+0

그것은 루비 1.8.6 (2007-03-13 패치 레벨 0) [i686-darwin8.8.5] – goodmike

+0

이상한 것을 말해줍니다. 네이티브 확장 기능이없는 보석은 괜찮습니까? –

답변

1

- 당신은 MacPorts를 사용하고 있습니까? 그렇다면이 다른 유사 환경을 사용하여 약간의 재미를 느끼게 될 것입니다. MacPorts로 10.6으로 업그레이드 한 후 Ruby 업그레이드에 rvm을 사용하도록 전환 한 후 이런 종류의 문제가 발생했습니다./관리 및 Homebrew MacPorts 대체 사용하고 있습니다.

this이 도움이됩니까?

+1

RVM에 대한 귀하의 언급은 귀하에게 친환경 점검을 제공합니다. 그 전날, 나는 그것을 설치하고 내 버전의 Ruby를 최신 패치 레벨로 업데이트하는데 사용했다. 이제 모든 것이 좋습니다. 내 질문에 대한 대답은 "루비의 업데이트되지 않은 버전은 OSX에서 네이티브 젬 확장을 일으키지 만로드에 실패하게됩니다." 조언 해 주셔서 감사합니다. -남자 이름 – goodmike