Ich versuche, die folgenden Gem-Versionen auf Mavericks zu installieren
- libv8 (3.16.14.3)
- Therubyracer (0.12.1)
Offensichtlich hängt der Edelsteinraub von libv8 ab.
1) Installieren von libv8
Was ist libv8? Meine Recherchen scheinen darauf hinzudeuten, dass es sich um eine Art Javascript-Bibliothek handelt, die von Google Chrome verwendet wird.
Ich hatte Probleme bei der Installation, aber dieser großartige Beitrag enthielt sowohl meinen Fehler als auch eine gut erläuterte Antwort zur Umgehung.
Also installierte ich libv8
mit
gem install libv8 -- --with-system-v8
Ich verstehe, dass dies das Gem installiert, aber meine lokale Systeminstallation der v8-Bibliothek anstelle von ... der Version verwendet, die mit dem Gem geliefert wird? In jedem Fall war es erfolgreich.
2) Installieren des Therubyracers
Im nächsten Schritt hatte ich Probleme, Gem zu installieren therubyracer
. Ich bin mir nicht ganz sicher, was dieses Juwel macht, nur dass es eine Abhängigkeit von einem Rails-Projekt ist, das ich versuche bundle install
.
Es gibt mir den folgenden Fehler:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/jeeves.butler/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
checking for v8.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/jeeves.butler/.rvm/rubies/ruby-1.9.2-p290/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
/Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in
'configure': You have chosen to use the version of V8 found
on your system (Libv8::Location::System::NotFoundError)
and *not* the one that is bundled with the libv8 rubygem. However,
it could not be located. please make sure you have a version of
v8 that is compatible with 3.16.14.3 installed. You may
need to special --with-v8-dir options if it is in a non-standard
location
thanks,
The Mgmt
from /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile'
from extconf.rb:32:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/therubyracer-0.12.1 for inspection.
Results logged to /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/extensions/x86_64-darwin-13/1.9.1/therubyracer-0.12.1/gem_make.out
Soweit ich das beurteilen kann, habe ich mich für die Installation libv8
mit meiner lokalen V8-Bibliothek anstelle der mitgelieferten entschieden libv8
, aber jetzt konnte die lokale Installation nicht gefunden werden.
- Wie überprüfe ich, ob V8 tatsächlich installiert ist und wie finde ich es?
- Ich habe einige der angegebenen Flags ausprobiert. Keines von ihnen schien das Juwel auf das richtige Installationsverzeichnis zu verweisen
- Dies mag ein separates Thema sein, aber was ist das
extconf.rb
? Ich habe es an einigen Stellen gesehen. Und was versucht esgcc
konkret mit dem Compiler zu tun ?
Vielen Dank!!
BEARBEITEN:
Ich habe diese Lösung ausprobiert, libv8 zu deinstallieren und über neu zu installieren
brew install
. Es wurde auch in einigen ähnlichen Fragen erwähnt. Kein Glück.Ich habe auch versucht , die
CC
,CXX
undCPP
Umgebungsvariablen , wie hier , obwohl ich glaube nicht , dass irgendeine Wirkung hat , wie es bereits meinen picking up -gcc v4.6
Compiler.