Acabei de instalar o El Capitan e não consigo instalar o gem eventmachine
1.0.7
. openssl
está em 1.0.2a-1
. Tentei usar, --with-ssl-dir
mas parece ignorado.
Também o denunciei no repositório do github .
Todas as sugestões são realmente apreciadas. Obrigado.
$ 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
, você precisará executar obundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include
. Eu tive que executar a mesma coisa com a gema,puma
então imagino que isso esteja acontecendo com outras gemas também.gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/include
no OSX El Capitan 10.11.5brew install openssl
eu tenho que fazerbrew link openssl --force
Ao usar o bundler e o homebrew:
fonte
brew install openssl
bundle install
para executar a instalação real da gem, garante que você instale a versão exata especificada em seu pacote. A resposta aceita instalará a versão mais recente, a menos que você inclua-v x.x.x
ogem install
comando manualmente.Então:
Também corrige:
PS Provavelmente, você precisará remover e executar
brew install openssl
novamenteO problema ocorreu porque a Apple removeu o openssl do OSX (na versão El Captain)
fonte
brew link --force openssl
não ter efeito. Então façabrew uninstall openssl
,brew install openssl
,brew link --force openssl
O imaculado remove a gema antiga e a recompila.
A opção de sinalizadores cpp permite que o compilador encontre os cabeçalhos openssl.
Você também pode adicionar a versão se quiser:
fonte
pristine
invés deinstall
?gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include
trabalhou para mim.Se você estiver instalando o EventMachine como uma dependência de outra gema, certifique-se de especificar a versão correta ao instalar a gema manualmente:
Em seguida, você pode instalar a gema que estava originalmente tentando instalar:
fonte
Eu estava tentando instalar a versão 1.0.3 e isso funcionou para mim.
Essas discussões foram muito úteis. https://github.com/eventmachine/eventmachine/issues/602
fonte
I/usr/local/opt/openssl/include
. É um personagem tão stackoverflow não me deixa editá-loUma alternativa é adicionar uma entrada de configuração do bundler para todo o seu perfil de usuário, assim:
ele criará um arquivo .bundle / config em seu diretório pessoal, que será usado em todos os seus projetos quando você executar
bundle install
.fonte
Isso resolveu o problema para mim:
Fonte: https://github.com/sj26/mailcatcher/issues/254
fonte
Isso funcionou para mim -
OBSERVAÇÃO: - Antes de poder instalar com êxito esta gema, eu precisava fazer algumas coisas. Eles podem se aplicar a você, então liste-os aqui -
1.) saiu da VPN corporativa OU talvez você precise ativar as configurações de proxy
2.) PKG_CONFIG_PATH foi definido como -
3.) teve que adicionar o seguinte ao $ PATH no bash_profile (no meu caso ~ / .zshrc)
4.) Observe também que, ao contrário de algumas respostas que recebi neste post do SO, e também neste tópico no github-eventmachine , não consegui instalar
eventmachine
Parece que
/usr/local/opt/openssl/include
é o local certo e não/usr/local/include
ao especificar o local do openssl.fonte