Właśnie zainstalowałem El Capitan i nie mogę zainstalować klejnotu eventmachine
1.0.7
. openssl
jest na 1.0.2a-1
. Próbowałem użyć, --with-ssl-dir
ale wydaje się ignorowane.
Zgłoszono to również na ich repozytorium github .
Wszelkie sugestie są bardzo mile widziane. Dzięki.
$ 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
Będziesz chciał uruchomićbundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include
. Musiałem uruchomić to samo z klejnotem,puma
więc wyobrażam sobie, że dzieje się tak również w przypadku innych klejnotów.gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/include
na OSX El Capitan 10.11.5brew install openssl
muszę zrobićbrew link openssl --force
Podczas korzystania z oprogramowania pakującego i homebrew:
źródło
brew install openssl
bundle install
do przeprowadzenia rzeczywistej instalacji klejnotów, gwarantuje, że zainstalujesz dokładną wersję określoną w pakiecie. Odpowiedź Zaakceptowany zainstaluje najnowszą wersję, chyba że należą-v x.x.x
dogem install
komendy ręcznie.Następnie:
Naprawia również:
PS Prawdopodobnie będziesz musiał usunąć i uruchomić
brew install openssl
ponownieProblem występuje, ponieważ Apple usunęło openssl z OSX (w kompilacji El Captain)
źródło
brew link --force openssl
nie miało wpływu. Następnie zrobićbrew uninstall openssl
,brew install openssl
,brew link --force openssl
nieskazitelny usuwa stary klejnot i ponownie go kompiluje.
Opcja flagi cpp pozwala kompilatorowi znaleźć nagłówki openssl.
Możesz także dodać wersję, jeśli chcesz:
źródło
pristine
zamiastinstall
?gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include
pracował dla mnie.Jeśli instalujesz EventMachine jako zależność innego klejnotu, pamiętaj, aby podać poprawną wersję podczas ręcznego instalowania klejnotu:
Następnie możesz zainstalować klejnot, który pierwotnie próbowałeś zainstalować:
źródło
Próbowałem zainstalować wersję 1.0.3 i to zadziałało dla mnie.
Te dyskusje były bardzo pomocne. https://github.com/eventmachine/eventmachine/issues/602
źródło
I/usr/local/opt/openssl/include
. To jedna postać, więc stackoverflow nie pozwala mi jej edytowaćJedną z możliwości jest dodanie pozycji konfiguracji pakietu dla całego profilu użytkownika, na przykład:
utworzy plik .bundle / config w twoim katalogu domowym, który jest następnie używany we wszystkich twoich projektach po uruchomieniu
bundle install
.źródło
To rozwiązało problem:
Źródło: https://github.com/sj26/mailcatcher/issues/254
źródło
To zadziałało dla mnie -
UWAGA: - Zanim udało mi się zainstalować ten klejnot, musiałem zrobić kilka rzeczy. Mogą Cię dotyczyć, dlatego umieszczając je tutaj -
1.) wysiadłem z korporacyjnej sieci VPN LUB może być konieczne włączenie ustawień proxy
2.) PKG_CONFIG_PATH ustawiono na -
3.) musiał dodać następujące polecenie do $ PATH w bash_profile (w moim przypadku ~ / .zshrc)
4.) Zwróć też uwagę, że w przeciwieństwie do niektórych odpowiedzi, które otrzymałem w tym poście SO, a także w tym wątku na github-eventmachine , nie byłem w stanie zainstalować
eventmachine
Wydaje się, że
/usr/local/opt/openssl/include
jest to właściwa lokalizacja, a nie/usr/local/include
przy określaniu lokalizacji openssl.źródło