1
很多時候,使用RVM('最受歡迎的安裝Ruby工具')安裝的Ruby會生成一個不支持SSL操作的二進制文件(如通過HTTPS連接)。這是known workaround的已知問題。在運行時檢測ruby二進制編譯佈局
如果您嘗試在這種Ruby二進制文件中使用SSL,則會導致異常LoadError: cannot load such file -- openssl
。
問題:有什麼辦法,我可以告訴這些庫的Ruby二進制文件在運行時內置反對,從而檢測它是否能夠SSL與否?除了嘗試實際使用SSL並捕獲異常?
這將使我從我的ruby代碼開始一個單獨的過程,但它仍然可能比依靠異常更好,將接受如果沒有其他答案 – 2012-03-15 14:05:40
對不起,混亂,不,你當然可以使用'defined? OpenSSL'直接在你的代碼中,不需要把它分成一個單獨的進程 - 我只是用它作爲例子,因爲你可以方便地將它輸入到你的終端。如果你看一下鏈接測試,就是這樣看起來像內聯。 – emboss 2012-03-15 14:36:39
我還是不太明白。所以我有兩個紅寶石二進制文件 - 有和沒有SSL支持。我正在創建一個單行程序'p defined? OpenSSL'和這兩個紅寶石產生相同的結果B/C它沒有被定義,直到你需要'openssl'...當我要求沒有SSL支持的那個提供了一個例外 – 2012-03-15 14:55:14