Je viens d'installer El Capitan et je ne peux pas installer gem eventmachine
1.0.7
. openssl
est à 1.0.2a-1
. J'ai essayé d'utiliser, --with-ssl-dir
mais il semble ignoré.
Je l'ai également signalé à leur dépôt github .
Toutes les suggestions sont vraiment appréciées. Merci.
$ 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
vous voudrez exécuter lebundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include
. J'ai dû exécuter la même chose avec la gemme,puma
donc j'imagine que cela se produit également pour d'autres gemmes.gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/include
sur OSX El Capitan 10.11.5brew install openssl
je dois le fairebrew link openssl --force
Lorsque vous utilisez bundler et homebrew:
la source
brew install openssl
bundle install
pour effectuer l'installation réelle de la gemme, elle garantit que vous installerez la version exacte spécifiée dans votre bundle. La réponse acceptée installera la dernière version, sauf si vous incluez manuellement la-v x.x.x
dans lagem install
commande.Ensuite:
Il corrige également:
PS Vous devrez probablement supprimer et exécuter à
brew install openssl
nouveauLe problème survient car Apple a supprimé openssl d'OSX (dans la version El Captain)
la source
brew link --force openssl
n'a eu aucun effet. Ensuite , faitesbrew uninstall openssl
,brew install openssl
,brew link --force openssl
vierge supprime l'ancien joyau et le recompile.
L'option cpp flags permet au compilateur de trouver les en-têtes openssl.
Vous pouvez également ajouter la version si vous le souhaitez:
la source
pristine
au lieu deinstall
?gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include
travaillé pour moi.Si vous installez EventMachine en tant que dépendance d'une autre gemme, assurez-vous de spécifier la bonne version lorsque vous installez manuellement la gemme:
Ensuite, vous pouvez installer la gemme que vous essayiez à l'origine d'installer:
la source
J'essayais d'installer la v 1.0.3 et cela a fonctionné pour moi.
Ces discussions ont été très utiles. https://github.com/eventmachine/eventmachine/issues/602
la source
I/usr/local/opt/openssl/include
. C'est un personnage donc stackoverflow ne me laisse pas le modifierUne alternative consiste à ajouter une entrée de configuration de bundler pour l'ensemble de votre profil utilisateur, comme ceci:
il va créer un fichier .bundle / config dans votre répertoire personnel, qui est ensuite utilisé dans tous vos projets lorsque vous exécutez
bundle install
.la source
Cela a résolu le problème pour moi:
Source: https://github.com/sj26/mailcatcher/issues/254
la source
Cela a fonctionné pour moi -
REMARQUE:- Avant de pouvoir installer avec succès ce joyau, je devais faire quelques choses. Celles-ci peuvent s'appliquer à vous, alors inscrivez-les ici -
1.) vous avez quitté le VPN d'entreprise OU vous devrez peut-être activer les paramètres de proxy
2.) PKG_CONFIG_PATH a été défini sur -
3.) a dû ajouter ce qui suit à $ PATH dans bash_profile (dans mon cas ~ / .zshrc)
4.) Notez également que contrairement à certaines réponses que j'ai reçues dans ce message SO, et également à ce fil sur github-eventmachine , je n'ai pas pu installer
eventmachine
Il semble que ce
/usr/local/opt/openssl/include
soit le bon emplacement et non/usr/local/include
lors de la spécification de l'emplacement openssl.la source