Railsプロジェクトを作成しました。
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はtherubyracerが使用するV8エンジンのインターフェースであるため、V8がすでにインストールされている場合でもlibv8を使用する必要がある場合があります。自分用にビルドするのではなく、独自のV8インストールを使用する場合は、
--with-system-v8
オプションを使用します。
詳細については、 githubのlibv8 のドキュメントをご覧ください。
Libv8のインストール後にtherubyracerのインストール中にエラーが発生するという同様の問題が発生しました。ここに私の解決策があります:
$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
$ bundle install
-therubyracerのインストールエラーを参照-
$ gem uninstall libv8
$ brew install v8
$ gem install therubyracer
$ bundle install
-libv8のインストールエラーを参照-
$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
自作では、このエラーを解決するのに役立ちます。
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をインストールするのに非常にうまく見えますが、Bundlerユーザーの場合は、bundle configを使用する必要があります
つかいます
bundle config build.libv8 --with-system-v8
そして
bundle config build.therubyracer --with-system-v8
特定のgemのインストール中に使用されるパラメーターを取得するようにバンドラーを構成するには
Windowsではtherubyracer
gemは必要ないと思います。 V8エンジンを使用するjavascriptランタイムです。したがって、libv8
をインストールしようとしています。
Gemfileからgemを安全に削除できます。
Railsは、どのランタイムを見つけても使用できます。 execjs
、nodejs
などはすべて可能なオプションです。
Microsoftは、Windowsにjavascript用のJScriptランタイムを既に埋め込み、Railsがそれを使用しています。 詳細はこちらを参照
問題を修正する他の回避策は、Gemfileでそれらを分離することです
group :production do
gem 'libv8', '~> 3.11.8.3'
gem 'therubyracer', :platform => :Ruby
end
そして、bundleコマンドを実行します:bundle install --without production
それは私のために働く。 Gemfileに入れてください
gem 'libv8'、 '〜> 3.16.14.7'
私の問題はtherubyracer
とはまったく関係なく、単にlibv8
gemと@ rishav-bhardwajが--with-system-v8
がトリックを行わなかったので、代わりにexecする必要がありました
bundle update
それから
bundle install
そして最後に
Bundle complete!
エラーはなくなりました!
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.
使用する代わりにこのgemをインストールすることもできませんでした
--with-system-v8
一度やってみてくださいバンドル更新私にとってはうまくいきました
これはlibv8とは関係がなく、therubyracerとは関係があると思います。
Railsアプリでバンドルインストールを実行しているときに同じエラーを受け取りました。同様にこれに遭遇した場合、次のようにバンドルの外にgemをインストールしてみてください:
gem install therubyracer
次に、バンドルインストールを実行します。これがあなたにも役立つことを願っています。
で試す
gem "therubyracer"、 "〜> 0.10.2" to Gemfile
また、依存するgem libv8(3.3.10.4)がインストールされ、gemネイティブ拡張のビルドの問題が解決されました。
以下のコマンドを使用して、libv8 3.16.14.7
の問題を解決しました。
gem install libv8 -v '3.16.14.7' -- --with-system-v8
そして、bundle install
は正常に完了しました。