RubyをインストールしたRuby(Rubyをインストールするのに最も一般的なツール)は、HTTPS経由での接続など、SSL操作ができないバイナリを生成します。 known workaroundの既知の問題です。実行時にルビーバイナリのコンパイルレイアウトを検出する
このようなRubyバイナリでSSLを使用しようとすると、例外はLoadError: cannot load such file -- openssl
となります。
質問:私はRubyのバイナリがに対して構築されたLIBS言うので、それが実行時にSSLまたはないが可能であるかどうかを検出することができますどのような方法がありますか?実際にSSLを使用して例外をキャッチしようとしている以外は?
それは私のルビーコードとは別のプロセスを開始させるでしょうが、例外に頼るよりもまだ有効でしょう。 –
混乱のために申し訳ありません、もちろん、定義済みですか?あなたのコードに直接OpenSSLを挿入する必要はありません。別のプロセスに展開する必要はありません。あなたの端末に便利に入力できるので、これを例として使用しました。リンクされたテストを見ると、インラインのように見えます。 – emboss
私はまだかなり理解していません。だから私は2つのルビーバイナリを持っている - SSLのサポートの有無。私は単一行のプログラム 'p definedを作成していますか? OpenSSL'とルビーの両方で同じ結果が得られますが、これは 'openssl'が必要になるまで定義されていません。SSLをサポートしていないものが必要な場合は例外が発生します。 –