Только что установил El Capitan и не могу установить гем eventmachine
1.0.7
. openssl
в 1.0.2a-1
. Пытался использовать, --with-ssl-dir
но, кажется, игнорируется.
Об этом сообщили в репозитории Github .
Любые предложения действительно приветствуются. Спасибо.
$ 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
вы захотите запуститьbundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include
. Мне пришлось выполнить то же самое с драгоценным камнем,puma
поэтому я думаю, что это происходит и с другими драгоценными камнями.gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/include
на OSX El Capitan 10.11.5brew install openssl
я должен сделатьbrew link openssl --force
При использовании bundler и homebrew:
источник
brew install openssl
bundle install
для фактической установки gem, он гарантирует, что вы установите точную версию, указанную в вашем комплекте. Принятый ответ установит последнюю версию, если вы не включите-v x.x.x
вgem install
команду вручную.Затем:
Это также исправляет:
PS Вероятно, вам нужно будет удалить и запустить
brew install openssl
сноваПроблема возникает из-за того, что Apple удалила openssl из OSX (в сборке El Captain)
источник
brew link --force openssl
не имел никакого эффекта. Тогда сделайтеbrew uninstall openssl
,brew install openssl
,brew link --force openssl
нетронутый удаляет старый драгоценный камень и перекомпилирует его.
Опция cpp flags позволяет компилятору находить заголовки openssl.
Вы также можете добавить версию, если вам нравится:
источник
pristine
вместоinstall
?gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include
работал на меня.Если вы устанавливаете EventMachine в качестве зависимости от другого гема, обязательно укажите правильную версию при установке гема вручную:
Затем вы можете установить гем, который вы изначально пытались установить:
источник
Я пытался установить v 1.0.3, и это сработало для меня.
Эти обсуждения были очень полезны. https://github.com/eventmachine/eventmachine/issues/602
источник
I/usr/local/opt/openssl/include
. Это один символ, поэтому stackoverflow не позволяет мне редактировать егоОдна альтернатива - добавить запись конфигурации для всего профиля пользователя, например:
он создаст файл .bundle / config в вашем домашнем каталоге, который затем будет использоваться во всех ваших проектах при запуске
bundle install
.источник
Это решило проблему для меня:
Источник: https://github.com/sj26/mailcatcher/issues/254
источник
Это сработало для меня -
ПРИМЕЧАНИЕ: - Прежде чем я смог успешно установить этот драгоценный камень, мне пришлось сделать несколько вещей. Это может относиться к вам, поэтому перечислите их здесь -
1.) вышел из корпоративного VPN или, возможно, вам придется включить настройки прокси
2.) PKG_CONFIG_PATH был установлен в -
3.) пришлось добавить следующее в $ PATH в bash_profile (в моем случае ~ / .zshrc)
4.) Также обратите внимание, что вопреки некоторым ответам, которые я получил в этом SO сообщении, а также в этой теме на github-eventmachine , я не смог установить
eventmachine
Кажется,
/usr/local/opt/openssl/include
это правильное местоположение, а не/usr/local/include
при указании местоположения openssl.источник