%22.png)
El problema
Nuestro administrador de sistemas necesitaba actualizar los paquetes en nuestro servidor de desarrollo CentOS 5.4 para que coincidieran con los paquetes en nuestro servidor de producción. La actualización afectórubíy/oabresl.
Ejecutamos un sistema de seguimiento de problemas de Ruby on Rails llamadoRedminaque se despliega conPasajeroen apache. Todo funcionaba antes de la actualización del servidor, pero cuando intento acceder al sistema de tickets ahora, aparece el siguiente error:
Mensaje de error:
Cipher is not a module
Clase de excepción:
TypeError
Raíz de la aplicación:
/home/dev/rails/redmine-0.8.7
He estado intentando con todas mis fuerzas solucionar este problema pero parece que no puedo superarlo.
Intenté seguir esta guía:
http://iamclovin.posterous.com/how-to-solve-the-cipher-is-not-a-module-error
Cuando lo intento require 'openssl'
en IRB, veo un true
valor de retorno. Sin embargo, sigo viendo que Cipher.rb no es un error de tipo de módulo al acceder al sistema de tickets.
Posiblemente (probablemente) relacionado:
Intenté actualizar Passenger, pero cuando lo intento passenger-install-apache2-module
veo:
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)
¿Alguna ayuda?
Respuesta1
Ruby 1.8.7 (2009-12-24 nivel de parche 248) [x86_64-linux]
en el directorio fuente de 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/
Encontrar una solución para esto tomó mucho tiempo...