Я только недавно установил JRuby и самоцвет Thrift после его использования в МРТ. Я сталкиваюсь с проблемой, когда, если мне требуется 'thrift', я получаю сообщение "Невозможно загрузить расширение thrift_native. По умолчанию используется чистые библиотеки Ruby". Если я тогда попытаюсь потребовать бережливость кода, сгенерированного в ruby, я получу эту ошибку: «NameError: неинициализированная константа Thrift :: Struct_Union»
Неужели самоцвет не работает с JRuby?
Есть ли что-то, что я могу сделать, чтобы использовать thrift с JRuby, кроме использования драгоценного камня?
РЕДАКТИРОВАТЬ: покопавшись на моем mac, я обнаружил, что самоцвет MRI и самоцвет JRuby различны, даже несмотря на то, что самоцветы имеют одинаковую версию (0.2.0.4). Теперь это кажется ужасной идеей, но если вы скопируете файлы .rb из гема MRI в гем JRuby и добавите require 'thrift/struct_union'
в thrift.rb, вы больше не получите никаких ошибок, связанных с гемом Thrift, за исключением того, что он может ' не находят thirft_native и будут использовать чистые библиотеки Ruby. Это можно объяснить, поскольку thrift_native создан для C, а не для Java.