Нашему системному администратору потребовалось обновить пакеты на нашем сервере CentOS 5.4 dev, чтобы они соответствовали пакетам на нашем производственном сервере. Обновление затронуло Рубин и / или openssl.
Мы запускаем систему отслеживания проблем Ruby on Rails под названием Redmine который развернут с Пассажир на Apache. Все работало до обновления сервера, но при попытке доступа к тикет-системе сейчас я получаю следующую ошибку:
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 не является модулем TypeError при доступе к системе билетов.
Я пробовал обновить 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)
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/
На поиск решения этой проблемы ушло очень много времени ...