无法在Windows上的Rails中安装libv8 3.11.8.17

时间:2013-06-21 14:12:52

标签: ruby-on-rails windows-7 gem ruby-1.9.3 libv8

无法安装libv8 3.11.8.17 gem。我已经环顾四周,发现它不支持Windows。虽然我还在寻找解决方法吗?

Installing libv8 (3.11.8.17)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
creating Makefile
Das System kann den angegebenen Pfad nicht finden.
Das System kann den angegebenen Pfad nicht finden.
Das System kann den angegebenen Pfad nicht finden.
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-            
3.11.8.17/ext/libv8/builder.rb:49:in `setup_python!': libv8 requires python 2 to b
e installed in order to build, but it is currently not available (RuntimeError)
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/builder.rb:35:in `block in build_libv8!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/builder.rb:34:in `chdir'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/builder.rb:34:in `build_libv8!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/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/libv8-3.11.8.17 for inspection.
Results logged to C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-
3.11.8.17/ext/libv8/gem_make.out
An error occurred while installing libv8 (3.11.8.17), and Bundler cannot
continue.
Make sure that `gem install libv8 -v '3.11.8.17'` succeeds before bundling.

我不尝试使用therubyracer,老实说不知道gem取决于libv8。安装Python27并设置PATH没有做任何事情。除了改变平台,我还能做些什么吗?或者可能有https://github.com/hiranpeiris/therubyracer_for_windows提供的v8.dll的解决方法我似乎没有掌握?

2 个答案:

答案 0 :(得分:4)

试试这个

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

从这里回答

Error installing libv8: ERROR: Failed to build gem native extension

答案 1 :(得分:3)

我只在我的Linux环境中使用libV8和TheRubyRacer。我在Gemfile中将它们分开:

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

然后我捆绑安装没有生产:

bundle install --without production

(参见SO文章:Why does 'bundle' install production gems on my development machine?

这似乎避免了整个V8在Windows上的辩论。