1. ホーム
  2. ruby-on-rails

[解決済み] libv8 のインストールエラー: ERROR: gem ネイティブ拡張のビルドに失敗しました

2022-04-22 12:25:18

質問

でrailsプロジェクトを作りました。

rails new test_bootstrap.

が成功しました。

プロジェクトディレクトリに移動し、gems を追加しました。

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.

一部の韓国人に申し訳ない It can't find the chosen pathとか書いてあるんですけど。

そして、このコマンドを実行しようとしました。

gem install libv8 -v '3.16.14.3' 

が同じエラーを投げています。

解決方法は?

こちらをお試しください。

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

注意事項 : libv8 は therubyracer が使用する V8 エンジンのインターフェイスであるためです。 V8がインストールされている場合でも、libv8を使用する必要がある場合があります。もし V8をビルドするのではなく、自分でインストールしたものを使いたい場合は を使用します。 --with-system-v8 オプションで指定します。

のドキュメントを参照してください。 githubにあるlibv8