Baru saja menginstal El Capitan dan tidak dapat menginstal permata eventmachine
1.0.7
. openssl
ada di 1.0.2a-1
. --with-ssl-dir
Sudah mencoba menggunakan tetapi tampaknya diabaikan.
Melaporkannya ke repo github mereka juga.
Setiap saran sangat dihargai. Terima kasih.
$ 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
maka Anda akan ingin menjalankanbundle config build.GEMNAME--with-cppflags=-I/usr/local/opt/openssl/include
. Saya harus menjalankan hal yang sama dengan permatapuma
jadi saya membayangkan ini terjadi untuk permata lain juga.gem install eventmachine -v 1.0.8 -- --with-cppflags=-I/usr/local/opt/openssl/include
di OSX El Capitan 10.11.5brew install openssl
harus saya lakukanbrew link openssl --force
Saat menggunakan bundler dan homebrew:
sumber
brew install openssl
bundle install
untuk melakukan instalasi permata yang sebenarnya, itu menjamin Anda akan menginstal versi tepat yang ditentukan dalam bundel Anda. Jawaban yang diterima akan menginstal versi terbaru, kecuali jika Anda memasukkan-v x.x.x
dalamgem install
perintah secara manual.Kemudian:
Ini juga memperbaiki:
PS Mungkin Anda harus menghapus dan menjalankan
brew install openssl
lagiMasalahnya muncul karena Apple telah menghapus openssl dari OSX (di build El Captain)
sumber
brew link --force openssl
tidak berpengaruh. Kemudian lakukanbrew uninstall openssl
,brew install openssl
,brew link --force openssl
murni menghilangkan permata tua dan mengkompilasi ulang itu.
Opsi flag cpp memungkinkan kompiler untuk menemukan header openssl.
Anda juga dapat menambahkan versi jika Anda suka:
sumber
pristine
bukannyainstall
?gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include
bekerja untukku.Jika Anda menginstal EventMachine sebagai ketergantungan permata lain, pastikan untuk menentukan versi yang benar ketika Anda memasang permata secara manual:
Kemudian Anda dapat menginstal permata yang awalnya Anda coba pasang:
sumber
Saya mencoba menginstal v 1.0.3 dan ini berhasil untuk saya.
Diskusi ini sangat membantu. https://github.com/eventmachine/eventmachine/issues/602
sumber
I/usr/local/opt/openssl/include
. Ini satu karakter sehingga stackoverflow tidak membiarkan saya mengeditnyaSalah satu alternatif adalah menambahkan entri konfigurasi bundler untuk seluruh profil pengguna Anda, seperti ini:
itu akan membuat file .bundle / config di direktori home Anda, yang kemudian digunakan di semua proyek Anda ketika Anda menjalankan
bundle install
.sumber
Ini memecahkan masalah bagi saya:
Sumber: https://github.com/sj26/mailcatcher/issues/254
sumber
Ini bekerja untuk saya -
CATATAN:- Sebelum saya berhasil menginstal permata ini, saya harus melakukan beberapa hal. Ini mungkin berlaku untuk Anda, jadi cantumkan di sini -
1.) turun dari perusahaan-VPN ATAU Anda mungkin harus mengaktifkan pengaturan proxy
2.) PKG_CONFIG_PATH disetel ke -
3.) harus menambahkan yang berikut ke $ PATH di bash_profile (dalam kasus saya ~ / .zshrc)
4.) Juga perhatikan, bahwa bertentangan dengan beberapa jawaban yang saya dapatkan di pos SO ini, dan juga utas ini pada github-eventmachine , saya tidak dapat menginstal
eventmachine
Tampaknya
/usr/local/opt/openssl/include
ini adalah lokasi yang tepat dan bukan/usr/local/include
saat menentukan lokasi openssl.sumber