Nie udało mi się zainstalować klejnoturubyracer na Yosemite 10.10.
Oto dziennik:
11:53 $ gem install libv8 -v '3.16.14.3' - --with-system-v8 Tworzenie rozszerzeń natywnych z: „--with-system-v8” To może chwilę potrwać ... Pomyślnie zainstalowano libv8-3.16.14.3 Przetwarzanie dokumentacji dla libv8-3.16.14.3 Instalowanie dokumentacji ri dla libv8-3.16.14.3 Zakończono instalowanie dokumentacji dla libv8 po 0 sekundach Zainstalowano 1 klejnot 02:05 $ gem install therubyracer -v '0.12.1' - --with-system-v8 Tworzenie rozszerzeń natywnych z: „--with-system-v8” To może chwilę potrwać ... BŁĄD: Błąd podczas instalacji therubyracer: BŁĄD: nie udało się utworzyć rozszerzenia natywnego Gem. /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8 sprawdzanie main () w -lpthread ... tak sprawdzanie main () w -lobjc ... tak sprawdzanie wersji 8.h ... nie *** extconf.rb nie powiodło się *** Nie można utworzyć Makefile z jakiegoś powodu, prawdopodobnie z braku niezbędnego biblioteki i / lub nagłówki. Więcej informacji znajdziesz w pliku mkmf.log. Możesz potrzebujesz opcji konfiguracyjnych. Dostępne opcje konfiguracji: --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 --bez-make-prog --srcdir =. --curdir --ruby = / usr / local / var / rbenv / Versions / 2.1.2 / bin / ruby --with-pthreadlib --without-pthreadlib --with-objclib --without-objclib --enable-debug --disable-debug --with-v8-dir --bez-v8-dir --with-v8-include --without-v8-include = $ {v8-dir} / include --with-v8-lib --without-v8-lib = $ {katalog-v8} / 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 ': Masz wybrano do używania wersji V8 znalezionej w twoim systemie (Libv8 :: Location :: System :: NotFoundError) i * nie * ten, który jest w pakiecie z rubygem libv8. Jednak, nie można go było zlokalizować. upewnij się, że masz wersję v8, który jest zgodny z 3.16.14.3 zainstalowany. Możesz potrzeba specjalnych opcji --with-v8-dir, jeśli jest w niestandardowym formacie Lokalizacja dzięki, Mgmt z /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile ' z extconf.rb: 32: in `` '' extconf nie powiódł się, kod zakończenia 1 Pliki Gem pozostaną zainstalowane w /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1 do wglądu. Wyniki zarejestrowane w /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. na zewnątrz
Odpowiedzi:
następnie po prostu spakuj klejnoty projektu
to jest jedyny sposób, w jaki to działało dla mnie w 10.10 (ruby 2.1.2)
źródło
gem 'libv8', '3.16.14.3'
(lub cokolwiek jest dokładną wersją biblioteki libv8, którą właśnie zainstalowałeś ręcznie) i uruchom pakiet aktualizacji libv8. To powinno następnie zainstalowaćrubyRacer.to jest jedyny sposób, w jaki to działało dla mnie w 10.10 (ruby 2.1.2)
Lub spróbuj
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
dodać wersję klejnotu :)AKTUALIZACJA dla systemu Mac OS Catalina:
źródło
gem 'therubyracer', '0.12.1'
(dodano wersję). Następnie usunął Gemfile.lock i zrobiłbundle install
. To działa dobrze.Żadna z odpowiedzi tym razem nie działa dla mnie. Ja też używam tego:
Widziane w problemach z rubyracerami na Githubie.
Mam nadzieję, że pomoże to komuś innemu.
źródło
gem install therubyracer -- --with-v8-dir=$(brew --prefix v8-315)
działa lepiej dla mnie. Dir w moim mac jest rzeczywiście/usr/local/opt/[email protected]
Może komuś się przyda ale miałem problemy z zainstalowaniem programurubyracer (z powodu problemów z libv8) rozwiązaniem było odinstalowanie wszystkich zainstalowanych libv8. Zainstalowaćrubyracer
Mam nadzieję, że to komuś pomoże.
źródło
gem uninstall libv8 -a -x
. Jeśli używasz menedżera wersji Ruby (np.rbenv
Itp.), To działa to tylko dla twojej aktualnej wersji Ruby (na wypadek, gdyby nie było to oczywiste).Wygląda na to, że zostało to naprawione wcześniej. To, co zadziałało dla mnie i @aurels oraz @Mike Causer i @Juanda, to:
źródło
To zadziałało bardzo dobrze na moim Yosemite i Ruby 2.1.5 (od Ruby do RVM)
Wcześniej
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
powodowało to błąd dla libv8 gem w wersji 3.16.14.3źródło
Tylko to działa dla mnie w moim Yosemite, Ruby 2.1.2:
źródło
ruby 1.9.3p484
irubyracer 0.12.3
Po tym mogłem kontynuować wyścig z rubinem
rm Gemfile.lock
wcześniej: zainstalowałem v8 przez
brew install v8
, a potem zrobiłemgem install libv8 -v '3.16.14.3' -- --with-system-v8
i używam 10.10 Yosemite
źródło
Naprawili ten problem w najnowszej wersji libv8. Zobacz: https://github.com/cowboyd/libv8/issues/123
Powinieneś zainstalować z repozytorium github, w railsach dodałem linię do mojego pliku gem w ten sposób
gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true
EDYTOWAĆ:
To najwyraźniej tylko rozwiązuje problem. Zainstalowałem nową wersję libv8, ale teraz rubyracer nadal szuka drugiej, myślę? Wciąż się nad tym zastanawiam.
źródło
Miałem ten sam problem na Yosemite. Moje rozwiązanie jest podobne do powyższego.
Służy
gem uninstall libv8
do usuwania wszystkiego, co może być zainstalowane.Pozostaw therubyracer w swoim Gemfile, ale usuń wszelkie jawne odniesienia do libv8.
Biegnij
bundle install
.libv8 następnie zainstalowano poprawnie jako zależność.
źródło
Zaktualizowana odpowiedź na 2018 rok.
Jestem na High Sierra, na Homebrew 1.6.1
To działa na mnie.
Zasługa @ coding-addicted za oryginalną odpowiedź .
źródło
Po godzinach prób zwykłej aktualizacji ruby zadziałało:
a następnie dodanie do pliku gem:
źródło
Powiadomienie każdego, kto mógł mieć mój problem: w końcu odinstalowałem moją wersję Ruby w RVM, a następnie ponownie ją zainstalowałem. Wydawało się, że w najnowszej wersji narzędzi xcode do kompilowania rubiego używane są poprawne zależności.
źródło
Zrobiłem co następuje
który teraz instaluje,
therubyracer 0.12.1
który instaluje zależnośćlibv8 (3.16.14.7 x86_64-darwin-14)
która została zainstalowana bez błędów.Zrobiłem to za pomocą
ruby 2.1.5
którego zainstalowałem przez:co zrobiłem po biegu
brew upgrade ruby-builds
.Po zainstalowaniu
ruby 2.1.5
również pobiegłemdostać
rubygems-update 2.4.5
źródło
dzieje się tak również z powodu pewnych konfliktów z libv8, chociaż możesz po prostu przypisać wersję do rubyracera i zostanie ona zainstalowana:
zmień następujące elementy w pliku gem:
gem 'therubyracer', '~> 0.12.1'
i wykonaj instalację pakietową
źródło
Co zadziałało dla mnie, na podstawie następującego komentarza,
https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085
było usunięcie Gemfile.lock, a następnie uruchomienie instalacji pakietu
źródło
To rozwiązanie zadziałało dla mnie po powyższym rozwiązaniu Jakuba Troszoka z niewielką tylko zmianą
źródło
Używanie katalogu homebrew v8
--with-v8-dir=/usr/local/Cellar/[email protected]/3.15.11.18_1
zamiast, zamiast/usr/local/opt/v8-315
, działa dla mnie, w kodowaniu odpowiedzi uzależnionego.Jest to widoczne w
Summary
z wywaru polecenie zainstalowaniabrew install v8-315
.źródło