Acabo de instalar El Capitan y no puedo instalar gem eventmachine
1.0.7
. openssl
es al 1.0.2a-1
. Intenté usarlo --with-ssl-dir
pero parece ignorado.
También lo informó a su repositorio de Github .
Cualquier sugerencia es realmente apreciada. Gracias.
$ ls /usr/local/Cellar/openssl/1.0.2a-1/include/openssl/ssl.h
/usr/local/Cellar/openssl/1.0.2a-1/include/openssl/ssl.h
$ gem install eventmachine -v '1.0.7' -- --with-ssl-dir=/usr/local/Cellar/openssl/1.0.2a-1/include
/Users/pain/.rbenv/versions/2.1.2/bin/ruby -r ./siteconf20150612-56154-1hsjz2n.rb extconf.rb --with-ssl-dir=/usr/local/Cellar/openssl/1.0.2a-1/include
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue... yes
checking for clock_gettime()... no
checking for gethrtime()... no
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling binder.cpp
In file included from binder.cpp:20:
./project.h:116:10: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>
^
1 error generated.
make: *** [binder.o] Error 1
make failed, exit code 2
brew install openssl
.vendor/bundle
, querrá ejecutar elbundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include
. Tuve que ejecutar lo mismo con la gema,puma
así que imagino que esto también está sucediendo con otras gemas.gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/include
en OSX El Capitan 10.11.5brew install openssl
que tengo que hacerbrew link openssl --force
Al usar bundler y homebrew:
fuente
brew install openssl
bundle install
para realizar la instalación real de gemas, garantiza que instalará la versión exacta especificada en su paquete. La respuesta aceptada instalará la última versión, a menos que incluya manualmente-v x.x.x
en elgem install
comando.Luego:
También corrige:
PD: Probablemente necesites eliminar y
brew install openssl
volver a ejecutarEl problema ocurre porque Apple había eliminado openssl de OSX (en la construcción de El Captain)
fuente
brew link --force openssl
no tener efecto. A continuación, hacerbrew uninstall openssl
,brew install openssl
,brew link --force openssl
Prístino elimina la gema vieja y la vuelve a compilar.
La opción de banderas de cpp permite al compilador encontrar los encabezados de openssl.
También puede agregar la versión si lo desea:
fuente
pristine
lugar deinstall
?gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include
trabajó para mi.Si está instalando EventMachine como una dependencia de otra gema, asegúrese de especificar la versión correcta cuando instale manualmente la gema:
Luego puede instalar la gema que originalmente estaba tratando de instalar:
fuente
Estaba tratando de instalar la versión 1.0.3 y esto funcionó para mí.
Estas discusiones fueron muy útiles. https://github.com/eventmachine/eventmachine/issues/602
fuente
I/usr/local/opt/openssl/include
. Es un personaje, por lo que stackoverflow no me permite editarloUna alternativa es agregar una entrada de configuración de paquete para todo su perfil de usuario, como esta:
creará un archivo .bundle / config en su directorio de inicio, que luego se usará en todos sus proyectos cuando lo ejecute
bundle install
.fuente
Esto resolvió mi problema:
Fuente: https://github.com/sj26/mailcatcher/issues/254
fuente
Esto funcionó para mí
NOTA: - Antes de poder instalar con éxito esta gema, tuve que hacer algunas cosas. Esto podría aplicarse a usted, así que enumere aquí:
1.) se bajó de la VPN corporativa O puede que tenga que activar la configuración del proxy
2.) PKG_CONFIG_PATH se estableció en -
3.) tuvo que agregar lo siguiente a $ PATH en bash_profile (en mi caso ~ / .zshrc)
4.) También tenga en cuenta que, a diferencia de algunas respuestas que obtuve en esta publicación SO, y también este hilo en github-eventmachine , no pude instalar
eventmachine
Parece que
/usr/local/opt/openssl/include
es la ubicación correcta y no/usr/local/include
cuando se especifica la ubicación de openssl.fuente