No se puede requerir openssl en ruby
rubygems (11)
¿Utilizas RVM?
Si no, intente usarlo y ver si soluciona su problema.
Tengo openssl instalado en mi máquina virtual ubuntu12.04lts.
Cuando ejecuto el comando gema da error.
Error: al ejecutar gema (Gema :: Excepción)
No se puede requerir openssl. instala openSSL y reconstruye ruby (preferido) o usa fuentes no HTTPs
Y también pruebo require openssl en modo irb. da error.
Loaderror: no se puede cargar dicho archivo --openssl
de /usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55 `require ''
Tengo openssl
$openssl version
OpenSSL 1.0.1 14 mar 2012
¿Cómo arreglar el error?
Dejo esta respuesta como referencia para futuros Googlers:
Escribe todos estos comandos en tu Terminal (OSX) solo para asegurarte de que has hecho todo (esto es lo que eventualmente funcionó para mí)
rvm get stable
brew update
brew doctor
brew install openssl
rvm install ruby-2.1 (or whatever version)
rvm use (ruby version here) i.e. rvm use ruby-2.1
rvm gemset create NAME i.e. rvm gemset create rails41
gem install rails -v 4.1
Finalmente...
Como muchos comentaristas han señalado, necesitas OpenSSL instalado antes de compilar Ruby antes de instalar rieles (u otras gemas)
En caso de que alguien más tenga este problema, intente reinstalar su versión de Ruby con openssl incluido
brew install openssl
rvm reinstall 2.4.0 --with-openssl-dir=`brew --prefix openssl`
Es posible que ya tengas openssl, por lo que puedes ignorar el primer paso. Esto me ayudó.
Estos pasos me funcionaron:
Rubí fijo de instalación:
brew upgrade openssl; openssldir = el
which openssl
rvm reinstala ruby-2.4.2 --with-openssl-dir = $ openssldirFuentes eliminadas y re-agregadas para gemas
fuentes de gemas -r https://rubygems.org/ gem sources --add https://rubygems.org/
Nota: las llamadas a rubygems.org están en desuso - ¡proceda con precaución!
Tuve el mismo problema en Mac OSX después de construir también ruby2.1.0p0 desde la fuente. Ya he instalado openssl. Parece que la referencia en gemas necesitaba refrescarse. Corrí:
gem source -r https://rubygems.org/
para eliminar
seguido por
gem source -a https://rubygems.org/
para leer
Después de esto, pude ejecutar gems install bundler
exitosamente.
Si se encuentra con otros errores, puede probar ./configure --with-openssl-dir=/usr/local/ssl
en su directorio / ruby descargado.
Para mí fue un caso de dependencias perdidas.
Pensé que tenía todas las dependencias necesarias para instalar Ruby, pero yo también estaba recibiendo un error de OpenSSL y ReadLine.
Intenté instalar Ruby con RVM sin privilegios de root, pero me dieron una lista de dependencias faltantes. Luego instalé las dependencias con un gestor de paquetes. Luego volví a intentar instalar Ruby desde el origen y todo funcionó bien.
Las dependencias que faltaban, para mi, fueron:
patch libyaml-devel autoconf gcc-c++
readline-devel libffi-devel openssl-devel
automake libtool bison sqlite-devel
pero pueden ser diferentes para ti.
actualización: originalmente no recuerdo dónde encontré exactamente esta lista, pero una búsqueda rápida encontró listas similares en las siguientes páginas, lo que también podría ayudarlo:
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-centos-6-with-rvm
Probablemente creaste Ruby desde la fuente antes de instalar OpenSSL. Asegúrate de instalarlo y luego intenta reconfigurar y reconstruir Ruby.
Recibí este error al usar debian donde openssl estaba en / usr / bin.
Siguiendo la sugerencia de jspacek reconfiguré ruby usando:
./configure --with-openssl-dir=/usr/bin
Después de make y sudo make install pude instalar rieles.
Reconstruir Ruby después de ejecutar sudo apt-get install libssl-dev libreadline-dev libgdbm-dev
puede resolver este problema.
Encontré esta solución here .
asegúrate de tener libssl-dev instalado:
dpkg -s libssl-dev
Si no, instálalo:
sudo apt-get -y install libssl-dev