Ich versuche, libv8 3.16.14.3 zu installieren, erhalte jedoch einen Fehler unter OSX Mavericks mit dem neuesten stabilen RVM und Ruby-1.9.3-p125.
Dies ist die Ausgabe des Befehls 'gem install libv8':
~/src(branch:master) » gem install libv8
Fetching: libv8-3.16.14.3.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing therubyracer:
ERROR: Failed to build gem native extension.
/Users/me/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.5
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.
make[1]: *** [/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a] Error 1
make: *** [x64.release] Error 2
/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `each'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `verify_installation!'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:26:in `install!'
from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=x64 \
-S.x64 -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/diy-fp.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fast-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fixed-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparse-data.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser-api.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
LIBTOOL-STATIC /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a
Gem files will remain installed in /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3 for inspection.
Results logged to /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/gem_make.out
quelle
--with-system-v8
FTW!bundle config build.libv8 --with-system-v8
hilft!bundle update
rettete mich aus dem Reich der Taubheit und des Apfel-Upgrade-zugefügten Elendstherubyracer
nach dem Lösen dieses Problems das folgende Problem mit GemSie können diese Version tatsächlich auf Mavericks installieren:
Ich kann bestätigen, dass dies mit rbenv und ruby 1.9.3p448 funktioniert
quelle
gem install libv8 -- --with-system-v8
El Capitan Lösung für mich:
Wo
REQUIRED_LIBV8_VERSION
für mich war3.16.14.7
, aber Sie müssen überprüfen, welches das ist, das Sie in Ihrem Bündel benötigen (dies war das für Schienen4.2.5
)Möglicherweise müssen Sie auch die obigen Befehle als Superuser ausführen (wenn Ihre Gems und Systembibliotheken global sind).
quelle
Wenn ich die akzeptierte Antwort versuchte, wurde libv8 erfolgreich mit installiert
gem install libv8
, schlug jedochbundle install
unter libv8 fehl. ich denke, dassbundle install
das hat versucht, eine andere Version von libv8 zu installieren. Ich konnte eine Lösung finden, die für mich funktioniert.Ich brauchte libv8, weil therubyracer davon abhängt. Um es zu installieren, habe ich die Version notiert, die im
gem_make.out
Protokoll für therubyracer nicht installiert werden konnte. (Der Weg für diegem_make.out
Protokoll befindet sich in der Fehlermeldung.) In meinem Fall war es 3.16.14.7. (Diese Version wird sich wahrscheinlich im Laufe der Zeit ändern, falls Sie dies in drei Jahren lesen.) Dann habe ich Folgendes getan:gem install libv8 -v 3.16.14.7 -- --with-v8-lib
<- Beachten Sie eine andere Flagge als die akzeptierte Antwortwas dies funktionierte:
gem install therubyracer
was mir erlaubte, meine zu vervollständigen
bundle install
.Dies funktionierte für mich unter OSX Yosemite.
quelle
https://github.com/cowboyd/therubyracer/issues/339
Die auf diesem Link gefundene Lösung von Jasonlynes machte den Trick für mich. alles andere hat nicht funktioniert.
quelle
Sie können den Bundler konfigurieren, anstatt jede Version kennen zu müssen. @ 3.15 könnte durch andere Versionen ersetzt werden.
quelle
Ich habe auf macOS Catalina @ 10.15 und aktualisiert
ruby 2.6.5
. Nach einer Weile bekamlibv8
und wiedertherubyracer
zu installieren, obwohl ich empfehlen würde, macOS noch nicht zu aktualisieren (ich hörte,ruby
sollte in Ordnung sein).Zuerst musste ich XCode aktualisieren
xcode-select --install
Ich habe früher
rbenv
aktualisiertruby
und dieruby
Version manuell/Users/<username>/.rbenv/version
auf eingestellt2.6.5
. Dies sollte jedoch keine Rolle spielen, wenn Ihr Projekt eine.ruby-version
Datei enthält .Dann habe ich jede Version bereinigt, die ich installiert habe
libv8
(normalerweise in/usr/local/opt/
) :brew uninstall v8
,brew uninstall [email protected]
brew install [email protected]
Nach https://github.com/cowboyd/libv8#do-i-get-a-binary habe ich nun installiert
gem install libv8 -v '3.16.14.19' -- --with-system-v8
und könnte dann
bundle install
fehlerfrei laufen .quelle
Mein Problem ist seit
therubyracer
dem Update aufmacOS 10.15
undruby-2.6.5
Und folgendes funktioniert für mich:
quelle
Versuchen Sie es mit dem, was ich in dieser Frage zusammengefasst habe: "gem install therubyracer -v '0.10.2'" auf nicht installierten osx mavericks
Es hat bei mir funktioniert (OS X Mavericks)
quelle
Ich hatte das gleiche Problem, als ich ein Upgrade von OSX Mountain Lion auf OSX Mavericks durchführte. Die akzeptierte Antwort funktionierte für libv8, aber nicht, als ich die Installation von therubyracer gem bündelte.
Ein Upgrade von Ruby-1.8.7-p354 auf Ruby-1.8.7-375 hat mir geholfen. libv8 (3.16.14.3-x86_64-darwin-13) und die Therubyracer (0.12.0) Edelsteine wurden problemlos installiert.
Angenommen, Sie verwenden rbenv:
quelle
Das hat bei mir gut funktioniert:
Versuchen Sie, dieses vorkompilierte Juwel zu installieren:
https://dl.dropboxusercontent.com/u/7919548/gems/libv8/libv8-3.11.8.17-x86_64-darwin-13.gem (sha1: 5ce07aaf4085fff5a5e10fe018fd6b22021bef3b)
Oder wenn Sie es vorziehen, Ihre eigenen zu bauen:
Quelle: https://github.com/cowboyd/libv8/issues/107
Vielen Dank an Felix Bünemann für das Update!
quelle
Ich habe eine Reihe von Lösungen ausprobiert, die in früheren Antworten beschrieben wurden, aber festgestellt, dass das Ausführen des Bundles (zum Installieren anderer, fehlender Edelsteine) versuchen würde, libv8 neu zu kompilieren (obwohl es bereits erfolgreich installiert wurde
--with-system-v8
) und daher unter demselben Problem leidet.Schließlich stellte ich fest, dass das Entfernen des libv8-Gems, das Abrufen der Gem-Datei aus Rubygems und das manuelle Installieren der
.gem
Datei mit dem--with-system-v8
Flag für mich funktionierte.dh
Vielen Dank an Gaurav Agarwals Antwort, dass er mich auf den richtigen Weg geführt hat!
quelle
Nichts davon half mir ... egal was ich tat, meine Edelsteininstallation von Therubyracer beschwerte sich immer wieder über diesen Fehler:
Was mir letztendlich geholfen hat, war dieses andere Forum, auf das ich unter https://www.bountysource.com/issues/82833405-libv8-fails-to-build-on-catalina-10-15 gestoßen bin
Die endgültige Lösung, die für mich funktioniert hat:
Ich musste diese Zeilen zu meiner .zshrc-Datei hinzufügen:
Dann musste ich folgende Befehle ausführen:
Ich hoffe, jemand anderes findet das nützlich!
quelle
Sie können versuchen, das Gem manuell über die auf der libv8-Github-Site angegebene Methode zu kompilieren und zu installieren .
quelle
In MAC-Yosemite mit RVM-Umgebung und Ruby-2.1.1-Version
gem install libv8 -v 3.16.14.3 -- --with-v8-lib gem install therubyracer
Es funktioniert mit Hilfe des obigen Befehls, kann dies bestätigen.
quelle
Was für mich wirklich funktionierte, war das Upgrade von Ruby auf 2.2.0, das Entfernen von Gemfile.lock und das erneute Bündeln.
Lief wie am Schnürchen!
quelle
Das hat bei mir funktioniert.
durch
3.16.14.7
deine Version ersetzen .quelle
Ich habe ein ähnliches Problem mit El Cap gehabt. Folgendes habe ich getan.
Und dann,
Schließlich,
quelle
Ich habe eine Beta-Version von Xcode für ein anderes Projekt verwendet und vergessen. Wechseln Sie zurück mit
xcode-select
. Etwas wie:quelle
Aus Gemfile entfernen:
Edelstein 'Therubyracer' ,: Plattformen =>: Rubin
quelle