10.10 Yosemite'ye therubyracer gem nasıl kurulur?


98

Therubyracer gem'i Yosemite 10.10'a kurmayı başaramıyorum.

İşte günlük:

11:53 $ gem kurulumu libv8 -v '3.16.14.3' - --with-system-v8


'--With-system-v8' ile yerel uzantılar oluşturma
Bu biraz zaman alabilir...
Libv8-3.16.14.3 başarıyla yüklendi
Libv8-3.16.14.3 için belgelerin ayrıştırılması
Libv8-3.16.14.3 için ri belgelerini yükleme
0 saniye sonra libv8 belgelerinin yüklenmesi tamamlandı
1 mücevher yüklü


02:05 $ gem yüklemek therubyracer -v '0.12.1' - --with-system-v8


'--With-system-v8' ile yerel uzantılar oluşturma
Bu biraz zaman alabilir...
HATA: Yükseltici yüklenirken hata oluştu:
    HATA: Gem yerel uzantısı oluşturulamadı.

    /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8
-lpthread içinde main () kontrol ediliyor ... evet
-lobjc'de main () denetleniyor ... evet
v8.h için kontrol ediliyor ... hayır
*** extconf.rb başarısız oldu ***
Makefile bazı nedenlerden dolayı oluşturulamadı, muhtemelen gerekli olmadı
kitaplıklar ve / veya başlıklar. Daha fazla ayrıntı için mkmf.log dosyasını kontrol edin. Yapabilirsin
yapılandırma seçeneklerine ihtiyacınız var.

Sağlanan yapılandırma seçenekleri:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include = $ {opt-dir} / include
    --with-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    --with-make-prog
    --with-make-prog
    --srcdir =.
    --curdir
    --ruby = / usr / local / var / rbenv / sürümler / 2.1.2 / bin / ruby
    --with-pthreadlib
    --without-pthreadlib
    --with-objclib
    --without-objclib
    --enable-debug
    --disable-debug
    --with-v8-dir
    --without-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:in `configure ': sisteminizde bulunan V8 sürümünü kullanmak için seçildi (Libv8 :: Location :: System :: NotFoundError)
ve libv8 rubygem ile birlikte gelen * değil *. Ancak,
bulunamadı. lütfen bir sürümüne sahip olduğunuzdan emin olun
3.16.14.3 ile uyumlu olan v8 yüklü. Yapabilirsin
standart değilse özel --with-v8-dir seçeneklerine ihtiyaç duyar
yer

Teşekkürler,
Yönetim

    /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7:'den 'configure_makefile'
    extconf.rb'den: 32: ''

extconf başarısız oldu, çıkış kodu 1

Gem dosyaları inceleme için /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1'de kurulu olarak kalacaktır.
Sonuçlar /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 adresine kaydedildi. dışarı

Siz de Yosemite ile sorun
yaşıyorsunuz

Biliyorum, maceracı olmayı seviyorum :-P
Nicolas Blanco

1
Ayrıca bununla ilgili sorun yaşıyorum, brew install
v8'i

@sandelius cevabımı kontrol et
mmln

Yanıtlar:


68
git clone https://github.com/cowboyd/libv8.git
cd libv8
bundle install
bundle exec rake clean build binary
gem install pkg/libv8-3.16.14.3-x86_64-darwin-12.gem #note that libv8 version may change, so tab through files in pkg/, also remember to use the one with version specified

o zaman sadece proje mücevherlerini topla

benim için 10.10'da çalışmasının tek yolu buydu (Ruby 2.1.2)


2
teşekkürler ama bu libv8, therubyracer gem'den bahsediyordum.
Nicolas Blanco

2
therubyracer ile ilgili sorunları önlemek için ihtiyacınız olan şey bu
mmln

2
Kuralları çiğniyorsam umurumda değil. Yeterince teşekkür edemem Benim için çok büyük bir proje süresi kurtardınız.
AKWF

1
Teşekkürler, benim için çalışıyor, sadece benim gibi kopyala / yapıştır adam için, şimdi gem install pkg / libv8-3.16.14.7-x86_64-darwin-14.gem
Christophe Dufour

2
Ayrıca, bir Gemfile kullanıyorsanız ve yine de subyracer'ı kurmakta sorun yaşıyorsanız, bunun nedeni muhtemelen Gemfile.lock'a zaten eklenmiş olan libv8'in farklı bir sürümü olmasından kaynaklanmaktadır. Sadece ekleyin gem 'libv8', '3.16.14.3'(veya el ile kurduğunuz libv8'in tam sürümü neyse) ve libv8 paket güncellemesini çalıştırın. Bu daha sonra therubyracer'ı kurmalıdır.
Jon Cairns

258
gem uninstall libv8
brew install v8
gem install therubyracer
gem install libv8 -v '3.16.14.3' -- --with-system-v8

benim için 10.10'da çalışmasının tek yolu buydu (Ruby 2.1.2)

Veya cevherin gem install libv8 -v 'XX.XX.XX' -- --with-system-v8sürümünü eklemeyi deneyin :)

Mac OS Catalina için GÜNCELLEME:

brew tap homebrew/versions
brew install v8@3.15
brew link --force v8@3.15
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
gem install therubyracer

3
Evet, tuhaflık olmadan yardımcı olan budur. Bir libv8 hatası alıyor olsanız bile, bunu yapın! Teşekkürler.
pjammer

2
Evet. Bunu yapmanın doğru yolu bu. Özellikle Ruby'nizi en son 10.10 komut satırı araçlarıyla yeniden oluşturduysanız.
Pankaj Tyagi

3
OS X Yosemite'de Ruby 2.1.3 ile benim için çalıştı.
Sarah Vessels

4
Buna ek olarak, paketleyici kullanıyorsanız ve bir Gemfile'a sahipseniz, onu yeni yüklediğiniz en son sürüme ayarlamanız gerekebilir. Örneğin, (OS X Yosemite'de) gem 'therubyracer', '0.12.1'şunları yapmam gerekiyordu: (sürümü ekledim). Sonra Gemfile.lock kaldırıldı ve yaptı bundle install. İyi çalışıyor.
paneer_tikka

2
Bu, El Capitan'da benim için de çalıştı. Bunun çok daha basit olduğunu ve kabul edilen cevap olduğunu düşünüyorum.
rcd

42

Cevapların hiçbiri bu sefer benim için işe yaramıyor. Bunu ben de kullanıyorum:

brew tap homebrew/versions
brew install v8-315

gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315

bundle install

Rubyracer Github meselelerinde görüldü.

Umarım başkasına yardımcı olur.


Bunun için teşekkürler. Diğer yaklaşımların hiçbiri, bağımlı cevherlerin modern versiyonlarını kullanan El Capitan üzerinde çalışmayacaktır. (therubyracer bu noktada ne yazık ki libv8'in gerisinde.)
Matt Mitchell

Ne yazık ki haklısın ... Ruby versiyonunu her değiştirdiğimde bu hata beni çılgına çeviriyor.
kodlama bağımlısı

1
tap homebrew / versions artık kullanımdan kaldırıldı, bu nedenle bu artık çalışmıyor.
mattp

1
Aslında gem install therubyracer -- --with-v8-dir=$(brew --prefix v8-315)benim için daha iyi çalışıyor. Mac'imdeki dir aslında/usr/local/opt/v8@3.15
Junji Zhi

26

Belki birisi için yararlı olabilir ama therubyracer'ı kurarken problemler yaşadım (libv8 ile ilgili problemlerden dolayı) çözüm, yüklediğim tüm libv8'i kaldırmaktı . Therubyracer'ı yükleyin

$ gem uninstall libv8
$ gem install therubyracer -v '0.12.0'
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem ( 57%)
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem (100%)
Successfully installed libv8-3.16.14.7-x86_64-darwin-14
Building native extensions.  This could take a while...
Successfully installed therubyracer-0.12.0
2 gems installed

Umarım bu birine yardımcı olur.


Bu benim için işe yaradı gibi görünüyor. Ancak en iyi yolu libv8 mücevher tüm sürümlerini olduğunu kaldırmak olduğunu işaret etmek istiyorum: gem uninstall libv8 -a -x. Ruby sürüm yöneticisi kullanıyorsanız (örn. rbenv, Vb.), Bu yalnızca mevcut Ruby sürümünüz için çalışır (bunun açık olmaması durumunda).
xentek

👍 bu çözüm benim için çalıştı - El Capitan 10.11.6, Ruby - ruby ​​1.9.3p448 (2013-06-27 revizyon 41675)
sameera207

13

Görünüşe göre bu sorun yukarı yönde düzeltildi. Benim için ve @aurels ve @Mike Causer ve @Juanda için işe yarayan şuydu:

bundle update libv8

7

Bu, Yosemite ve Ruby 2.1.5'imde (Ruby'den RVM'ye) çok iyi çalıştı

gem install libv8 -v '3.16.14.3' -- --with-system-v8

Daha önce Gem::Ext::BuildError: ERROR: Failed to build gem native extension.libv8 gem sürüm 3.16.14.3 için hata veriyordu


7

Yosemite, Ruby 2.1.2'de sadece bu benim için çalışıyor:

gem install libv8 -v '3.16.14.3' -- --with-system-v8
brew link --overwrite v8-315 --force
gem install therubyracer -v '0.12.2' -- --with-system-v8

Sadece bu sorun çözüldü ruby 1.9.3p484ve için rubyracer yüklenirrubyracer 0.12.3
Michael Klishevich

6

Ruby racer ile devam edebildim rm Gemfile.lock

önceden: v8'i üzerinden yükledim brew install v8ve sonragem install libv8 -v '3.16.14.3' -- --with-system-v8

ve 10.10 Yosemite çalıştırıyorum


4

Bu sorunu libv8'in en son sürümünde düzelttiler. Bakınız: https://github.com/cowboyd/libv8/issues/123

Github deposundan yüklemelisiniz, raylarda gem dosyama şöyle bir satır ekledim gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true

DÜZENLE:

Bu görünüşe göre problemin sadece bir kısmını çözüyor. Libv8'in yeni sürümünü yükledim, ancak şimdi rubyracer hala diğerini mi arıyor? Hala araştırıyorum.


3

Yosemite'de de aynı sorunu yaşadım. Benim çözümüm yukarıda görünene benzer.

gem uninstall libv8Yüklenebilecek her şeyi kaldırmak için kullanın .

Therubyracer'ı Gemfile'ınızda bırakın, ancak libv8'e yapılan açık referansları kaldırın.

Çalıştır bundle install.

libv8 daha sonra bir bağımlılık olarak iyi yüklendi.


Bu benim sorunumdu. Libv8'in birbiriyle savaşan birden fazla sürümü vardı. Bunları temizlemek ve paketleyicinin bağımlılığı çözmesine izin vermek yapılacak doğru şeydi.
DavidMann10k

2

2018 için güncellenmiş cevap.

Homebrew 1.6.1'de High Sierra'dayım

brew install v8-315

gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8@3.15/

Benim için çalıştı.

Kredi, orijinal cevabı için @ kodlama bağımlısı'na gider .


1

Saatlerce Ruby'yi yükseltmeye çalıştıktan sonra işe yaradı:

brew install ruby 

ve ardından gem dosyasına aşağıdakileri ekleyerek:

gem 'libv8'  
gem 'therubyracer' 

1

Sorunumu yaşıyor olabilecek herkese uyarı: RVM'de ruby ​​sürümümü kaldırıp yeniden yükledim. Ruby'yi derlemek için xcode araçlarının en son sürümünde doğru bağımlılıkları kullanıyor gibiydi.

rvm list
rvm uninstall ruby-x.x.x
rvm install ruby-x.x.x

0

Aşağıdakileri yaptım

gem install therubyracer

hangi hata olmadan yüklenen therubyracer 0.12.1bağımlılığı yükleyen şimdi yükler libv8 (3.16.14.7 x86_64-darwin-14).

Bunu kullanarak ruby 2.1.5kurduğum şeyi yaptım :

CC=/usr/bin/gcc rbenv install 2.1.5

koştuktan sonra yaptım brew upgrade ruby-builds.

Yükledikten sonra ruby 2.1.5da koştum

gem upgrade --system

almak rubygems-update 2.4.5


0

bu, libv8 ile olan bazı çakışmalardan da kaynaklanır, ancak rubyracer'a bir sürüm atayabilirsiniz ve kurulur:

gem dosyasında aşağıdakileri değiştirin:

gem 'therubyracer', '~> 0.12.1'

ve toplu yükleme yapın



0

Bu çözüm, Jakub Troszok'un yukarıdaki çözümünü sadece küçük bir değişiklikle takip ederek benim için çalıştı

gem uninstall libv8
gem install therubyracer -v '0.12.1'
    Fetching: libv8-3.16.14.19-x86_64-darwin-18.gem (100%)
    Successfully installed libv8-3.16.14.19-x86_64-darwin-18
    Building native extensions.  This could take a while...
    Successfully installed therubyracer-0.12.1
    Parsing documentation for libv8-3.16.14.19-x86_64-darwin-18
    Installing ri documentation for libv8-3.16.14.19-x86_64-darwin-18
    Parsing documentation for therubyracer-0.12.1
    Installing ri documentation for therubyracer-0.12.1
    Done installing documentation for libv8, therubyracer after 0 seconds
    2 gems installed
gem install libv8 -v '3.16.14.17' -- --with-system-v8  (if the libv8 version required for your project is different from the one installed by rubyracer)
bundle install

Lütfen küçük değişikliğin ne olduğunu belirtin ve neden işe yaradığını açıklamaya çalışın. 4 yıllık bir soruyu cevapladığınız için, uygulanabilir versiyonlar hakkında da bazı ayrıntılar eklemelisiniz (cevabınız o zaman alakalı olmayabilir).
Michal

0

Bağımlıların cevabını kodlarken, homebrew'in v8 dizinini kullanmak --with-v8-dir=/usr/local/Cellar/v8@3.15/3.15.11.18_1yerine kullanmak /usr/local/opt/v8-315benim için işe yaradı.

Bu, Summarybrew install komutunda görülebilir brew install v8-315.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.