Довольно часто Ruby, установленный с помощью RVM («самый популярный инструмент для установки Ruby»), создает двоичный файл, не способный выполнять операции SSL (например, подключение через HTTPS). Это известная проблема с known workaround.Обнаружение макета компоновки рубиновых двоичных файлов во время выполнения
Если вы пытаетесь использовать SSL с таким двоичным кодом Ruby, это приводит к исключению LoadError: cannot load such file -- openssl
.
Вопрос: есть ли способ, что я могу сказать, какой ЛИЭС рубин двоичный был построен против и таким образом обнаружить, если он способен SSL или не во время выполнения? Помимо попытки фактически использовать SSL и выхватить исключение?
, который заставит меня начать отдельный процесс с моего рубинового кода, но он, вероятно, лучше, чем полагаться на исключение, примет, если нет другого ответа –
Извините за путаницу, нет, вы можете, конечно, использовать 'определенные? OpenSSL' прямо в вашем коде, не нужно разветвлять его в отдельный процесс - я просто использовал это в качестве примера, потому что вы можете удобно ввести его в свой терминал. Если вы посмотрите на связанный тест, вот как он будет выглядеть как встроенный. – emboss
Я все еще не совсем понимаю. Итак, у меня есть два рубиновых двоичных файла - с поддержкой SSL и без нее. Я создаю однострочную программу 'p defined? OpenSSL' и оба ruby производят один и тот же результат b/c, который не определен до тех пор, пока вы не потребуете «openssl» ... и когда я требую, что без поддержки SSL дает исключение –