Ich habe ein Rails-Projekt gemacht mit,
rails new test_bootstrap.
erfolgreich.
zog in das Projektverzeichnis und fügte die Edelsteine hinzu
gem "therubyracer"
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem "twitter-bootstrap-rails"
und Renn
bundle install
Danach habe ich diesen Fehler.
Installing libv8 (3.16.14.3)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
c:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
creating Makefile
지정된 경로를 찾을 수 없습니다. 지정된 경로를 찾을 수
없습니다. 지정된 경로를 찾을 수 없습니다.
c:/RailsInstaller/Ruby1.9.3/lib/ruby/ge
ms/1.9.1/gems/libv8-3.16.14.3/ext/libv8/builder.rb:58:in `setup_python!': libv8 requires
python 2 to be installed in order to build, but it is currently not available (RuntimeErr
or) from c:/RailsInstaller/Ruby1.9.
3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/builder.rb:42:in `block in build_lib
v8/builder.rb:42:in `block in build_libv8!'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/builder.rb:40:in `chdir'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/builder.rb:40:in `build_libv8!'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/location.rb:24:in `install!'
from extconf.rb:7:in `<main>'
Gem files will remain installed in c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/l
ibv8-3.16.14.3 for inspection.
Results logged to c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ex
t/libv8/gem_make.out
An error occurred while installing libv8 (3.16.14.3), and Bundler cannot
continue.
Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.
Entschuldigung für einige Koreaner. Es heißt: Es kann den gewählten Weg oder ähnliches nicht finden.
und ich habe versucht, diesen Befehl auszuführen
gem install libv8 -v '3.16.14.3'
den gleichen Fehler werfen.
ruby-on-rails
ruby
windows
libv8
Canna
quelle
quelle
Devkit
github.com/oneclick/rubyinstaller/wiki/Development-KitAntworten:
Probier diese:
Weitere Informationen finden Sie in der Dokumentation zu libv8 auf github
quelle
An error occurred while installing libv8 (3.16.14.3), and Bundler cannot continue.
undBundler::GemspecError: Could not read gem at /home/gitlab/gitlab/vendor/bundle/ruby/2.1.0/cache/libv8-3.16.14.3-x86_64-linux.gem. It may be corrupted.
ich entferne den gesamten Cache-Ordner und führe ihn erneut ausbundle install --full-index --deployment --without development test postgres aws
. Funktioniert.gem install libv8 -v '3.16.14.3' -- --with-system-v8
arbeitete für mich unter OS X 10.11.brew install v8
half es. Folgen Sie den Anweisungen bei dieser Antwort hier: stackoverflow.com/questions/24081473/…So beheben Sie das Problem mit libv8 / therubyracer
Ich habe ein ähnliches Problem festgestellt, bei dem nach der Installation von libv8 ein Fehler bei der Installation von therubyracer auftritt. Hier ist meine Lösung:
- siehe Fehler beim Installieren des Thermosammlers -
- siehe Fehler bei der Installation von libv8 -
quelle
Mit Homebrew hilft mir dies, diesen Fehler zu beheben.
Gesehen auf Rubyracer Github Fragen.
quelle
Ich habe die oben aufgeführte Lösung ausprobiert, die für die Installation einzelner Gem sehr gut aussieht, aber für Bundler-Benutzer - Sie sollten die Bundle-Konfiguration verwenden
Verwenden
und
um den Bundler so zu konfigurieren, dass er die Parameter verwendet, die bei der Installation eines bestimmten Gems verwendet werden sollen
quelle
bundle config build.therubyracer --with-v8-dir=/usr/local/opt/v8-315
Ich glaube nicht, dass Sie
therubyracer
Edelsteine an Fenstern brauchen . Es ist eine Javascript-Laufzeit mit V8-Engine. Daher wird versucht, es zu installierenlibv8
.Sie können den Edelstein sicher aus Ihrer Gemfile entfernen.
Rails verwendet gerne die Laufzeit, die es finden kann.
execjs
,nodejs
Usw. sind alle möglichen Optionen.Microsoft bettet JScript Runtime für Javascript bereits unter Windows ein und Rails verwendet es. Weitere Informationen finden Sie hier
quelle
Eine andere Problemumgehung zur Behebung des Problems besteht darin, sie in der Gem-Datei zu trennen
Führen Sie dann den Befehl bundle aus : bundle install --ohne Produktion
quelle
Ich konnte dieses Juwel auch nicht installieren, anstatt es zu verwenden
Versuchen Sie einmal, ein Bundle-Update durchzuführen, das für mich gut funktioniert hat
quelle
fand dies auf Github
Angenommen, Sie haben die oben genannten Schritte ausgeführt und v8-315 und v8 über Brew installiert.
quelle
Das ist für mich in Ordnung. Legen Sie das in Ihre Gemfile
quelle
bundle install --no-deployment
undbundle install
arbeitete dann für michMein Problem mit nicht verwandten
therubyracer
an allen nurlibv8
Juwel und als @ Rishav-Bhardwaj hingewiesen--with-system-v8
hat den Trick nicht, stattdessen musste ich execbundle update
dann
bundle install
und schlussendlich
Bundle complete!
Der Fehler ist weg!
Gem::Ext::BuildError: ERROR: Failed to build gem native extension. An error occurred while installing libv8 (3.16.14.7), and Bundler cannot continue. Make sure that `gem install libv8 -v '3.16.14.7'` succeeds before bundling.
quelle
In meinem Fall habe ich diese Situation gelöst, indem ich sie
'mini_racer', '~> 0.2.6'
in meiner Gemfile angefordert habeDann funktionierte der Bundle-Installationsbefehl.
quelle
Versuche es mit
Edelstein "Therubyracer", "~> 0,10,2" zu Gemfile
Außerdem wird das abhängige Gem libv8 (3.3.10.4) installiert, und das Problem mit dem Fehler der nativen Erweiterung von Build Gem wurde behoben.
quelle
Das libv8-
3.16.14.7
Problem wurde mit dem folgenden Befehl behoben :gem install libv8 -v '3.16.14.7' -- --with-system-v8
Und dann
bundle install
erfolgreich abgeschlossen.quelle
Ich denke, das hat weniger mit libv8 als vielmehr mit therubyracer zu tun.
Ich habe den gleichen Fehler erhalten, als ich eine Bundle-Installation auf einer Rails-App ausgeführt habe. Wenn Sie dies in ähnlicher Weise festgestellt haben, versuchen Sie, den Edelstein außerhalb des Bundles wie folgt zu installieren:
gem install therubyracer
Führen Sie dann die Bundle-Installation aus. Ich hoffe das funktioniert auch bei dir.
quelle
Ich hatte auch Probleme mit
libv8
undmini_racer
. Problem mit behobenMit den neuesten Versionen
mini_racer 0.2.10
undlibv8 7.3.492.27
arbeitete wie ein Zauber.quelle
Ich habe die folgenden Befehle auf meinem lokalen Befehl ausprobiert, es hat gut funktioniert:
quelle