IT story

libv8 설치 오류 : 오류 : gem 기본 확장을 빌드하지 못했습니다.

hot-time 2020. 5. 27. 07:37
반응형

libv8 설치 오류 : 오류 : gem 기본 확장을 빌드하지 못했습니다.


나는 레일 프로젝트를 만들었고

rails new test_bootstrap.

성공했습니다.

프로젝트 디렉토리로 이동하여 보석을 추가했습니다.

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

실행

bundle install

그 후, 나는이 오류가 있습니다.

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.

한국인에게는 미안합니다. 선택한 경로 나 그와 비슷한 것을 찾을 수 없습니다.

이 명령을 실행하려고했습니다.

gem install libv8 -v '3.16.14.3' 

같은 오류가 발생합니다.


이거 한번 해봐:

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

참고 : libv8은 Rubyracer에서 사용하는 V8 엔진의 인터페이스이므로 V8이 이미 설치되어 있어도 libv8을 사용해야합니다. V8 설치를 사용하지 않고 직접 설치하려면 --with-system-v8옵션을 사용하십시오 .

자세한 내용 은 githublibv8 설명서를 참조하십시오.


libv8 / therubyracer 문제를 해결하는 방법

libv8을 설치 한 후 Rubyracer 설치 오류가 발생하는 비슷한 문제가 발생했습니다. 내 해결책은 다음과 같습니다.

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

$ bundle install

-Rubyracer 설치 오류 참조-

$ gem uninstall libv8

$ brew install v8

$ gem install therubyracer

$ bundle install

-libv8 설치 오류 참조-

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

homebrew를 사용하면이 오류를 해결하는 데 도움이됩니다.

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

rubyracer Github 문제에서 확인되었습니다.


개별 gem을 설치하는 데 매우 괜찮은 위의 명령을 시도했지만 번 들러 사용자에게는 bundle config를 사용해야합니다.

사용하다

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

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

특정 gem을 설치하는 동안 사용할 매개 변수를 갖도록 번 들러를 구성하는 방법


나는 당신이 therubyracer창문에 보석 이 필요하다고 생각하지 않습니다 . V8 엔진을 사용하는 자바 스크립트 런타임입니다. 따라서 설치를 시도하고 libv8있습니다.

Gemfile에서 gem을 안전하게 제거 할 수 있습니다.

Rails는 어떤 런타임을 찾을 수 있는지 기쁘게 생각합니다. execjs, nodejs모든 가능한 옵션 등이 있습니다.

Microsoft already embeds JScript runtime for javascript on windows, and Rails uses it. See this for more


Other workaround to fix the problem is to separate them in the Gemfile

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

And then run the bundle command: bundle install --without production


That works for me. Put that in your Gemfile

gem 'libv8', '~>3.16.14.7'


I was also unable to install this gem instead of using

--with-system-v8

once try to do bundle update which worked fine for me


My issue wasn't related with therubyracer at all just libv8 gem and as @rishav-bhardwaj pointed --with-system-v8 didn't do the trick, instead i had to exec

bundle update

then

bundle install

and finally

Bundle complete!

The error is gone!

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.


Try with

gem "therubyracer", "~> 0.10.2" to Gemfile

And it will install dependent gem libv8 (3.3.10.4) and the issue of build gem native extension failure got resolve.


Resolved libv8 3.16.14.7 issue using below command:

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

And then bundle install successfully completed.


i feel this has less to do with libv8 and more to do with therubyracer.

i received your same error while running a bundle install on a rails app. if you have encountered this similarly, try installing the gem outside of bundle like so:

gem install therubyracer

then run bundle install. i hope this works for you too.


found this on github

assuming you have tried the mentioned steps above, installed v8-315 and v8 via brew.

brew unlink v8
brew link --force v8-315
gem install therubyracer -v '0.12.2' -- --with-system-v8

참고URL : https://stackoverflow.com/questions/19673714/error-installing-libv8-error-failed-to-build-gem-native-extension

반응형