Saya tidak berhasil menginstal permata therubyracer di Yosemite 10.10.
Ini lognya:
11:53 $ gem instal libv8 -v '3.16.14.3' - --with-system-v8 Membangun ekstensi asli dengan: '--with-system-v8' Ini bisa memakan waktu cukup lama... Berhasil menginstal libv8-3.16.14.3 Dokumentasi parsing untuk libv8-3.16.14.3 Menginstal dokumentasi ri untuk libv8-3.16.14.3 Selesai menginstal dokumentasi untuk libv8 setelah 0 detik 1 permata terpasang 02:05 $ permata menginstal therubyracer -v '0.12.1' - --with-system-v8 Membangun ekstensi asli dengan: '--with-system-v8' Ini bisa memakan waktu cukup lama... KESALAHAN: Kesalahan memasang therubyracer: EROR: Gagal membangun ekstensi asli permata. /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8 memeriksa main () di -lpthread ... ya memeriksa main () di -lobjc ... ya memeriksa v8.h ... tidak *** extconf.rb gagal *** Tidak dapat membuat Makefile karena beberapa alasan, mungkin kurang diperlukan perpustakaan dan / atau header. Periksa file mkmf.log untuk lebih jelasnya. Kamu boleh membutuhkan opsi konfigurasi. Opsi konfigurasi yang disediakan: --dengan-opt-dir --tanpa-opt-dir --dengan-opt-include --without-opt-include = $ {opt-dir} / include --dengan-opt-lib --without-opt-lib = $ {opt-dir} / lib --dengan-make-prog --tanpa-membuat-prog --srcdir =. --curdir --ruby = / usr / local / var / rbenv / versi / 2.1.2 / bin / ruby --dengan-pthreadlib --tanpa-pthreadlib --with-objclib --tanpa-objclib --enable-debug --disable-debug --dengan-v8-dir --tanpa-v8-dir --with-v8-include --without-v8-include = $ {v8-dir} / include --with-v8-lib --without-v8-lib = $ {v8-dir} / lib /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/ext/libv8/location.rb:50: di `configure ': Anda punya dipilih untuk menggunakan versi V8 yang ditemukan di sistem Anda (Libv8 :: Location :: System :: NotFoundError) dan * bukan * yang digabungkan dengan rubygem libv8. Namun, itu tidak dapat ditemukan. pastikan Anda memiliki versi v8 yang kompatibel dengan 3.16.14.3 diinstal. Kamu boleh perlu khusus opsi --with-v8-dir jika dalam non-standar lokasi Terima kasih, Manajemen tersebut dari /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7: di `configure_makefile ' dari extconf.rb: 32: dalam '' extconf gagal, kode keluar 1 File permata akan tetap terpasang di /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1 untuk diperiksa. Hasil dicatat ke /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-14/2.1.0-static/therubyracer-0.12.1/gem_make. di luar
Jawaban:
lalu gabungkan permata proyek Anda
ini adalah satu-satunya cara itu bekerja untuk saya di 10.10 (ruby 2.1.2)
sumber
gem 'libv8', '3.16.14.3'
(atau apa pun versi libv8 yang baru saja Anda instal secara manual), dan jalankan pembaruan bundel libv8. Itu kemudian harus menginstal therubyracer.ini adalah satu-satunya cara itu bekerja untuk saya di 10.10 (ruby 2.1.2)
Atau coba
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
tambahkan versi permata :)UPDATE untuk Mac OS Catalina:
sumber
gem 'therubyracer', '0.12.1'
(menambahkan versinya). Kemudian menghapus Gemfile.lock dan melakukannyabundle install
. Ini bekerja dengan baik.Tidak ada jawaban yang berhasil untuk saya kali ini. Saya juga menggunakan ini:
Terlihat pada masalah rubyracer Github.
Semoga bisa membantu orang lain.
sumber
gem install therubyracer -- --with-v8-dir=$(brew --prefix v8-315)
bekerja lebih baik untuk saya. Dir di Mac saya sebenarnya/usr/local/opt/[email protected]
Mungkin ini akan berguna untuk seseorang tetapi saya memiliki masalah dalam menginstal subyracer (karena masalah dengan libv8) solusinya adalah menghapus semua libv8 yang telah saya instal. Pasang therubyracer
Saya harap ini membantu seseorang.
sumber
gem uninstall libv8 -a -x
. Jika Anda menggunakan pengelola versi ruby (misalnyarbenv
, dll) maka ini hanya berfungsi untuk ruby versi Anda saat ini (jika itu tidak jelas).Sepertinya ini telah diperbaiki di hulu. Apa yang berhasil untuk saya dan @aurels dan @Mike Causer dan @Juanda adalah:
sumber
Ini bekerja dengan sangat baik untuk saya di Yosemite dan Ruby 2.1.5 (Ruby melalui RVM)
Sebelumnya itu memberi saya kesalahan
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
untuk permata libv8 versi 3.16.14.3sumber
Hanya ini yang berfungsi untuk saya di Yosemite saya, Ruby 2.1.2:
sumber
ruby 1.9.3p484
danrubyracer 0.12.3
Saya bisa melanjutkan dengan pembalap ruby setelahnya
rm Gemfile.lock
sebelumnya: Saya menginstal v8 via
brew install v8
, dan kemudian melakukannyagem install libv8 -v '3.16.14.3' -- --with-system-v8
dan saya menjalankan 10.10 Yosemite
sumber
Mereka telah memperbaiki masalah ini di versi terbaru libv8. Lihat: https://github.com/cowboyd/libv8/issues/123
Anda harus menginstal dari repo github, di rel saya menambahkan baris ke gemfile saya seperti ini
gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true
EDIT:
Ini rupanya hanya menyelesaikan beberapa masalah. Saya menginstal versi baru libv8, tetapi sekarang rubyracer masih mencari yang lain menurut saya? Masih memeriksanya.
sumber
Saya memiliki masalah yang sama di Yosemite. Solusi saya mirip dengan yang muncul di atas.
Gunakan
gem uninstall libv8
untuk menghapus apa pun yang mungkin diinstal.Tinggalkan therubyracer di Gemfile Anda, tetapi hapus referensi eksplisit apa pun ke libv8.
Lari
bundle install
.libv8 kemudian diinstal dengan baik sebagai dependensi.
sumber
Jawaban yang diperbarui untuk 2018.
Saya di High Sierra, di Homebrew 1.6.1
Apa yang berhasil untuk saya.
Penghargaan diberikan kepada @ coding-addicted untuk jawaban aslinya .
sumber
Setelah berjam-jam mencoba mengupgrade ruby berhasil:
dan kemudian menambahkan yang berikut ini ke file gem:
sumber
Hubungi siapa pun yang mungkin mengalami masalah saya: Saya akhirnya mencopot pemasangan versi ruby saya di RVM dan kemudian memasangnya kembali. Itu sepertinya menggunakan dependensi yang benar di versi terbaru alat xcode untuk menyusun ruby.
sumber
Saya melakukan hal berikut
yang sekarang menginstal
therubyracer 0.12.1
yang menginstal dependensilibv8 (3.16.14.7 x86_64-darwin-14)
yang diinstal tanpa kesalahan.Saya melakukan ini menggunakan
ruby 2.1.5
yang saya instal melalui:yang saya lakukan setelah berlari
brew upgrade ruby-builds
.Setelah menginstal
ruby 2.1.5
, saya juga menjalankanmendapatkan
rubygems-update 2.4.5
sumber
ini juga terjadi karena beberapa konflik dengan libv8, meskipun Anda dapat menetapkan versi ke rubyracer dan itu akan diinstal:
ubah yang berikut di gemfile:
permata 'therubyracer', '~> 0.12.1'
dan lakukan pemasangan bundel
sumber
Apa yang berhasil untuk saya, berdasarkan komentar berikut,
https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085
adalah menghapus Gemfile.lock dan kemudian menjalankan bundle install
sumber
Solusi ini berhasil untuk saya mengikuti solusi Jakub Troszok di atas hanya dengan sedikit perubahan
sumber
Menggunakan direktori homebrew v8 untuk
--with-v8-dir=/usr/local/Cellar/[email protected]/3.15.11.18_1
, alih-alih/usr/local/opt/v8-315
, adalah yang berhasil bagi saya, dalam pengkodean jawaban kecanduan.Ini terlihat di
Summary
perintah brew installbrew install v8-315
,.sumber