Ich schaffe es nicht, Therubyracer Gem auf Yosemite 10.10 zu installieren.
Hier ist das Protokoll:
11:53 $ gem install libv8 -v '3.16.14.3' - --with-system-v8 Erstellen nativer Erweiterungen mit: '--with-system-v8' Dies könnte eine Weile dauern ... Libv8-3.16.14.3 wurde erfolgreich installiert Analysedokumentation für libv8-3.16.14.3 Installieren der ri-Dokumentation für libv8-3.16.14.3 Die Installation der Dokumentation für libv8 ist nach 0 Sekunden abgeschlossen 1 Edelstein installiert 02:05 $ gem install therubyracer -v '0.12.1' - --with-system-v8 Erstellen nativer Erweiterungen mit: '--with-system-v8' Dies könnte eine Weile dauern ... FEHLER: Fehler beim Installieren des Trubelracers: FEHLER: Fehler beim Erstellen der nativen Erweiterung für Edelsteine. /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8 nach main () in -lpthread suchen ... ja nach main () in -lobjc suchen ... ja nach v8.h suchen ... nein *** extconf.rb fehlgeschlagen *** Makefile konnte aus irgendeinem Grund nicht erstellt werden, wahrscheinlich mangels notwendig Bibliotheken und / oder Header. Überprüfen Sie die Datei mkmf.log auf weitere Details. Du darfst Konfigurationsoptionen benötigen. Bereitgestellte Konfigurationsoptionen: --with-opt-dir --ohne Opt-Dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib --without-opt-lib = $ {opt-dir} / lib --mit Make-Prog --ohne Make-Prog --srcdir =. --curdir --ruby = / usr / local / var / rbenv / version / 2.1.2 / bin / ruby --with-pthreadlib --without-pthreadlib --with-objclib --ohne-objclib --enable-debug --disable-debug --with-v8-dir --ohne-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 ': Sie haben ausgewählt, um die auf Ihrem System gefundene Version von V8 zu verwenden (Libv8 :: Location :: System :: NotFoundError) und * nicht * derjenige, der mit dem libv8 rubygem gebündelt ist. Jedoch, es konnte nicht gefunden werden. Bitte stellen Sie sicher, dass Sie eine Version von haben v8, das mit 3.16.14.3 kompatibel ist, installiert. Du darfst müssen spezielle --with-v8-dir-Optionen verwenden, wenn es sich um einen Nicht-Standard handelt Ort Vielen Dank, Die Mgmt von /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 ' von extconf.rb: 32: in `' extconf fehlgeschlagen, Code 1 beenden Gem-Dateien bleiben zur Überprüfung in /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1 installiert. Ergebnisse protokolliert unter /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. aus
Antworten:
Dann bündeln Sie einfach Ihre Projektedelsteine
Dies ist der einzige Weg, wie es für mich am 10.10 (Ruby 2.1.2) funktioniert hat.
quelle
gem 'libv8', '3.16.14.3'
Fügen Sie einfach hinzu (oder was auch immer die genaue Version von libv8 ist, die Sie gerade manuell installiert haben) und führen Sie das Bundle-Update libv8 aus. Das sollte dann therubyracer installieren.Dies ist der einzige Weg, wie es für mich am 10.10 (Ruby 2.1.2) funktioniert hat.
Oder versuchen Sie
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
, die Version des Edelsteins hinzuzufügen :)UPDATE für Mac OS Catalina:
quelle
gem 'therubyracer', '0.12.1'
(Version hinzugefügt). Dann Gemfile.lock entfernt und getanbundle install
. Es funktioniert gut.Keine der Antworten funktioniert diesmal für mich. Ich habe auch dies verwendet:
Gesehen auf dem Rubyracer Github Fragen.
Hoffe es hilft jemand anderem.
quelle
gem install therubyracer -- --with-v8-dir=$(brew --prefix v8-315)
besser für mich. Das Verzeichnis in meinem Mac ist eigentlich/usr/local/opt/[email protected]
Vielleicht ist es für jemanden nützlich, aber ich hatte Probleme bei der Installation von therubyracer (aufgrund der Probleme mit libv8). Die Lösung bestand darin, alle von mir installierten libv8 zu deinstallieren . Installieren Sie den Strahler
Ich hoffe das hilft jemandem.
quelle
gem uninstall libv8 -a -x
. Wenn Sie einen Ruby-Versionsmanager verwenden (z. B.rbenv
usw.), funktioniert dies nur für Ihre aktuelle Ruby-Version (falls dies nicht offensichtlich war).Es scheint, dass dies stromaufwärts behoben wurde. Was für mich und @aurels und @Mike Causer und @Juanda funktioniert hat war:
quelle
Dies funktionierte sehr gut für mich auf meinem Yosemite und Ruby 2.1.5 (Ruby durch RVM)
Früher gab es mir einen Fehler
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
für libv8 gem Version 3.16.14.3quelle
Ich konnte danach mit Ruby Racer weitermachen
rm Gemfile.lock
vorher: ich habe v8 via installiert
brew install v8
und dann getangem install libv8 -v '3.16.14.3' -- --with-system-v8
und ich laufe 10.10 Yosemite
quelle
Nur das funktioniert bei mir in meinem Yosemite, Ruby 2.1.2:
quelle
Sie haben dieses Problem in der neuesten Version von libv8 behoben. Siehe: https://github.com/cowboyd/libv8/issues/123
Sie sollten vom Github-Repo aus installieren. In Schienen habe ich meinem Gemfile eine Zeile wie diese hinzugefügt
gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true
BEARBEITEN:
Dies löst anscheinend nur einen Teil des Problems. Ich habe die neue Version von libv8 installiert, aber jetzt sucht der Rubyracer immer noch nach der anderen, die ich denke? Ich schaue immer noch hinein.
quelle
Ich hatte das gleiche Problem bei Yosemite. Meine Lösung ähnelt der oben gezeigten.
Verwenden Sie
gem uninstall libv8
diese Option, um eventuell installierte Elemente zu entfernen.Lassen Sie therubyracer in Ihrer Gemfile, entfernen Sie jedoch alle expliziten Verweise auf libv8.
Ausführen
bundle install
.libv8 wurde dann als Abhängigkeit einwandfrei installiert.
quelle
Aktualisierte Antwort für 2018.
Ich bin auf High Sierra, auf Homebrew 1.6.1
Hat bei mir funktioniert?
Gutschrift geht an @ coding-süchtig für seine ursprüngliche Antwort .
quelle
Nach stundenlangem Versuch, Ruby einfach zu aktualisieren, funktionierte es:
und dann Folgendes zur Gem-Datei hinzufügen:
quelle
Ein Hinweis auf alle, die möglicherweise mein Problem hatten: Am Ende habe ich meine Ruby-Version in RVM deinstalliert und dann neu installiert. Das schien die richtigen Abhängigkeiten in der neuesten Version der xcode-Tools zum Kompilieren von Ruby zu verwenden.
quelle
Ich habe folgendes getan
die jetzt installiert,
therubyracer 0.12.1
die die Abhängigkeitlibv8 (3.16.14.7 x86_64-darwin-14)
installiert, die ohne Fehler installiert wurde.Ich habe dies getan, mit
ruby 2.1.5
dem ich installiert habe über:was ich nach dem rennen gemacht habe
brew upgrade ruby-builds
.Nach der Installation
ruby 2.1.5
lief ich auchbekommen
rubygems-update 2.4.5
quelle
Dies geschieht auch aufgrund einiger Konflikte mit libv8, obwohl Sie dem Rubyracer einfach eine Version zuweisen können und diese installiert wird:
ändere folgendes in der gemfile:
Edelstein 'Therubyracer', '~> 0.12.1'
und Bundle installieren
quelle
Was für mich funktioniert hat, basierend auf dem folgenden Kommentar:
https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085
war Gemfile.lock zu entfernen und dann Bundle-Installation auszuführen
quelle
Diese Lösung funktionierte für mich nach der obigen Lösung von Jakub Troszok mit nur einer geringfügigen Änderung
quelle
Die Verwendung des Homebrew-Verzeichnisses von v8 für
--with-v8-dir=/usr/local/Cellar/[email protected]/3.15.11.18_1
anstelle von/usr/local/opt/v8-315
hat bei der Codierung der Antwort von Addicted für mich funktioniert.Dies ist im
Summary
Befehl Brew install sichtbarbrew install v8-315
.quelle