OpenSSL 對 Ruby 的支援:“Cipher 不是模組 (TypeError)”

OpenSSL 對 Ruby 的支援:“Cipher 不是模組 (TypeError)”

問題

我們的系統管理員需要升級 CentOS 5.4 開發伺服器上的軟體包,以匹配生產伺服器上的軟體包。升級受影響紅寶石和/或開放式SSL

我們運行一個 Ruby on Rails 問題追蹤系統,名為Redmine部署的是乘客在阿帕奇上。在伺服器更新之前一切正常,但是現在嘗試存取票務系統時,出現以下錯誤:

錯誤訊息:

Cipher is not a module

異常類:

TypeError

應用程式根:

/home/dev/rails/redmine-0.8.7 

我一直在努力解決這個問題,但我似乎無法克服它。

我嘗試遵循本指南:
http://iamclovin.posterous.com/how-to-solve-the-cipher-is-not-a-module-error

當我嘗試require 'openssl'使用 IRB 時,我確實看到了true返回值。但是,在存取票務系統時,我仍然看到 Cipher.rb 不是模組類型錯誤。

可能(可能)相關:

我嘗試過更新 Passenger,但是當我嘗試時passenger-install-apache2-module我看到:

Checking for required software...

* GNU C++ compiler... found at /usr/bin/g++
* Ruby development headers... found
* OpenSSL support for Ruby... /usr/lib/ruby/1.8/openssl/cipher.rb:22: Cipher is not a module (TypeError)

有什麼幫助嗎?

答案1

ruby 1.8.7 (2009-12-24 補丁等級 248) [x86_64-linux]

在 ruby​​ 來源目錄中

cd ext/openssl/
ruby extconf.rb 
make
sudo make install
sudo cp -R /usr/local/lib/ruby/site_ruby/1.8/openssl* /usr/lib/ruby/1.8/

找到解決這個問題花了很長時間...

相關內容