Ich habe gerade El Capitan installiert und kann gem nicht installieren eventmachine
1.0.7
. openssl
ist bei 1.0.2a-1
. Versucht zu verwenden, --with-ssl-dir
aber es scheint ignoriert.
Hat es auch ihrem Github-Repo gemeldet .
Anregungen sind sehr willkommen. Vielen Dank.
$ 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
möchten Sie das ausführenbundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include
. Ich musste dasselbe mit dem Edelstein ausführen,puma
also stelle ich mir vor, dass dies auch für andere Edelsteine geschieht.gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/include
unter OSX El Capitan 10.11.5brew install openssl
ich tunbrew link openssl --force
Bei Verwendung von Bundler und Homebrew:
quelle
brew install openssl
bundle install
zur Durchführung der eigentlichen Edelsteininstallation garantiert, dass Sie die genaue Version installieren, die in Ihrem Bundle angegeben ist. Die akzeptierte Antwort installiert die neueste Version, es sei denn, Sie fügen die manuell-v x.x.x
in dengem install
Befehl ein.Dann:
Es behebt auch:
PS Wahrscheinlich müssen Sie entfernen und
brew install openssl
erneut ausführenDas Problem tritt auf, weil Apple openssl aus OSX entfernt hat (in El Captain Build).
quelle
brew link --force openssl
hatte keine Wirkung. Dann tunbrew uninstall openssl
,brew install openssl
,brew link --force openssl
makellos entfernt den alten Edelstein und kompiliert ihn neu.
Mit der Option cpp flags kann der Compiler die openssl-Header finden.
Sie können die Version auch hinzufügen, wenn Sie möchten:
quelle
pristine
stattinstall
?gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include
arbeitete für mich.Wenn Sie EventMachine als Abhängigkeit von einem anderen Gem installieren, müssen Sie bei der manuellen Installation des Gems die richtige Version angeben:
Dann können Sie das Juwel installieren, das Sie ursprünglich installieren wollten:
quelle
Ich habe versucht, v 1.0.3 zu installieren, und das hat bei mir funktioniert.
Diese Diskussionen waren sehr hilfreich. https://github.com/eventmachine/eventmachine/issues/602
quelle
I/usr/local/opt/openssl/include
. Es ist ein Charakter, so dass Stackoverflow mich nicht bearbeiten lässtEine Alternative besteht darin, einen Bundler-Konfigurationseintrag für Ihr gesamtes Benutzerprofil wie folgt hinzuzufügen:
Es wird eine .bundle / config-Datei in Ihrem Home-Verzeichnis erstellt, die dann in allen Ihren Projekten verwendet wird, wenn Sie ausgeführt werden
bundle install
.quelle
Dies löste das Problem für mich:
Quelle: https://github.com/sj26/mailcatcher/issues/254
quelle
Das hat bei mir funktioniert -
HINWEIS: - Bevor ich dieses Juwel erfolgreich installieren konnte, musste ich einige Dinge tun. Diese können auf Sie zutreffen, also listen Sie sie hier auf -
1.) hat das Unternehmens-VPN verlassen ODER Sie müssen möglicherweise die Proxy-Einstellungen aktivieren
2.) PKG_CONFIG_PATH wurde auf - gesetzt
3.) musste folgendes zu $ PATH in bash_profile hinzufügen (in meinem Fall ~ / .zshrc)
4.) Beachten Sie auch, dass ich entgegen einigen Antworten, die ich in diesem SO-Beitrag und auch in diesem Thread auf github-eventmachine erhalten habe , nicht installieren konnte
eventmachine
Es scheint
/usr/local/opt/openssl/include
der richtige Ort zu sein und nicht,/usr/local/include
wenn der openssl-Ort angegeben wird.quelle