Eroare la instalarea libv8: EROARE: nu a Reușit să construiască gem nativ

Am făcut o rails project cu,

rails new test_bootstrap.

a reușit.

s-a mutat la proiect dir și-a adăugat pietre

gem "therubyracer"
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem "twitter-bootstrap-rails"

și a alerga

bundle install

după aceea, am aceasta eroare.

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.

îmi pare rău pentru unii Coreeni. Se spune, se poate't găsi calea aleasă sau ceva de genul asta.

și am încercat pentru a rula această comandă

gem install libv8 -v '3.16.14.3' 

aruncarea la fel de eroare.

Comentarii la întrebare (3)
Soluția

incearca asta:

gem install libv8 -v '3.16.14.3' -- --with-system-v8

Notă : Pentru libv8 este interfața pentru motorul V8 folosit de therubyracer, s-ar putea nevoie pentru a utiliza libv8, chiar dacă aveți V8 instalat deja. Dacă doriți să utilizați propria V8 de instalare, mai degrabă decât l-au construit pentru tine, utilizați - cu-sistem-v8 opțiune.

Pentru mai multe puteți merge prin documentația de libv8 pe github

Comentarii (6)

Cum pentru a rezolva libv8/therubyracer problema

Am întâlnit o problemă similară în care, după instalarea libv8, se produce eroare instalarea therubyracer. Aici este soluția mea:

$ gem install libv8 -v '3.16.14.3' -- --with-system-v8

$ bundle install
  • vezi de eroare instalarea therubyracer --
$ gem uninstall libv8

$ brew install v8

$ gem install therubyracer

$ bundle install
  • vezi de eroare instalarea libv8 --
$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
Comentarii (7)

Cu homebrew acest lucru ajută-mă pentru a rezolva această eroare.

brew tap homebrew/versions
brew install v8-315

gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315

bundle install

Văzut pe rubyracer probleme Github.

Comentarii (7)

Am încercat soluția enumerate mai sus, comanda care arata foarte bine pentru instalarea individuală gem, dar pentru bundler utilizatorii ar trebui să - utilizare pachet config

Utilizarea

bundle config build.libv8 --with-system-v8 

și

bundle config build.therubyracer --with-system-v8

pentru a configura bundler să ia parametrii pentru a fi utilizate în timp ce instalarea specifice gem

Comentarii (1)

Nu cred ca ai nevoie de therubyracergem pe windows. Este un javascript de execuție folosind motorul V8. Prin urmare, se face o încercare de a instalalibv8`.

Puteți elimina în siguranță bijuterie din Gemfile.

Șinele este fericit de a utiliza în care vreodată de execuție se poate găsi. execjs,nodejs etc. sunt toate opțiunile posibile.

Microsoft deja încorporează JScript runtime pentru javascript pe windows, și Șine folosește. Vezi mai mult

Comentarii (0)

O altă soluție pentru a rezolva problema este de a le separa în Gemfile

group :production do
 gem 'libv8', '~> 3.11.8.3'
 gem 'therubyracer', :platform => :ruby
end

Și apoi atunci a alerga pachet de comandă: pachet install-fără producție

Comentarii (1)

Care lucrează pentru mine. Pune asta în Gemfile

bijuterie 'libv8', '~>3.16.14.7'

Comentarii (1)

Am fost, de asemenea, în măsură de a instala această bijuterie în loc de a folosi

--with-system-v8

odată ce încercați să faceți pachet de actualizare care a lucrat bine pentru mine

Comentarii (0)

Problema mea a fost't legate cu therubyracer la toate doar pentru libv8gem și ca @rishav-bhardwaj a subliniat - cu-sistem-v8` n't face truc, în schimb am avut la exec

bundle update

apoi

pachet instala

și în cele din urmă

Pachet complet!

Eroarea este plecat!

Gem::Ext::BuildError: EROARE: nu a Reușit să construiască gem nativ. A survenit o eroare la instalarea libv8 (3.16.14.7), și Bundler nu poate continua. Asigurați-vă că `bijuterie instala libv8 -v &#39;3.16.14.7&#39;` reușește inainte de grupare.

Comentarii (0)

am găsit asta pe github

presupunând că ai încercat etapele mentionate mai sus, instalat v8-315 și v8 prin infuzie.

brew deconectați v8 brew link --force v8-315 bijuterie instala therubyracer -v &#39;0.12.2&#39; -- --cu-sistem-v8

Comentarii (0)

Rezolvate libv8 3.16.14.7 problema folosind comanda de mai jos:

bijuterie instala libv8 -v &#39;3.16.14.7&#39; -- --cu-sistem-v8

Și apoi pachet instala finalizat cu succes.

Comentarii (0)

Încercați cu

bijuterie "therubyracer", "~> 0.10.2" pentru a Gemfile

Și se va instala dependente gem libv8 (3.3.10.4) și problema de a construi gem nativ eșec luat rezolva.

Comentarii (0)

eu simt acest lucru are mai puțin de-a face cu libv8 și mai mult de-a face cu therubyracer.

am primit aceeasi eroare în timp ce rulează un pachet instala pe un rails app. dacă ați întâlnit acest mod similar, încercați să instalați gem afara de pachet astfel:

bijuterie instala therubyracer

apoi rulați-pachet instala. sper că acest lucru funcționează pentru tine.

Comentarii (0)