2014-09-04 4 views
1

SikuliX를 사용하고 싶고 JRuby가 필요할 것 같습니다. pik이 GitHub에 많은 이슈를 가지고 있고 오래되어 가고 있기 때문에 같은 머신에서 MinGW Ruby를 사용하면 고통 스러울 수 있습니다.MRI에서 JRuby로 전환 할 때의 함정이 있습니까?

그래서 JRuby 로의 전체 전환을 고려하고 있습니다. 그러나 나는 무엇을 잃을 까? 어떤 문제가 발생합니까?

UPD : 예를 들어 지원되지 않는 보석 목록이 있습니까?

+2

C에서 기본적으로 빌드 한 모든 보석은 호환되지 않습니다. 실험적이며 현재는 사용 중지 된 시스템이있어 작동시킬 수는 있지만 결코 만족스런 결과를 얻을 수 없었습니다. RMagick, 데이터베이스 어댑터 및 Nokogiri와 같은 보석은 영향을받을 것입니다. 대안리스트는 여기에 있습니다. 최신 정보는 없습니다. https://github.com/jruby/jruby/wiki/C-Extension-Alternatives –

+0

Ruby를 두 번 모두 충돌없이 설치할 수 있습니다. PRI없이 패키지 바이너리에서 Windows에 MRI와 JRuby를 설치했습니다. JRuby 바이너리는'j'로 시작하기 때문에 서로 충돌 할 확률은별로 없습니다. 내가 모르고있는 충돌의 위험이있는 경우, 항상 한 번에 한 경로 만 유지할 수 있습니다. 나는 SikuliX가 JRuby를 어디서 찾을 수 있는지에 대한 자신 만의 설정을 가지고 있다고 가정하기 때문에 JRuby를 당신의 경로에서 완전히 지킬 수있을 것이다. – echristopherson

답변

0

코멘트에 언급 된대로 C 확장자 젬이 문제지만, Nokogiri와 같은 대부분의 (인기있는) 보석들도 원시 자바 확장 버전을 제공합니다. 따라서 거기에서 잘되어야합니다.

네이티브 DB 어댑터와 같은 것들은 "직접적인"Java 대안이 없지만이를 사용하는 다른 라이브러리 (ORM)가 있다고 가정하면 전환 문제가 없습니다. 예 : DM은 JRuby에서 Java 데이터베이스 표준을 사용하는 것을 직접 지원합니다. AR에 대해서는 호환성 레이어 esp가 있습니다. 호환 어댑터를 제공하는 ActiveRecord-JDBC-Adapter라고합니다.