gem安装libv8 – 版本'3.11.8.17'在ruby(Windows)

问题如下。

Error installing libv8: ERROR: Failed to build gem native extension. D:/Ruby193/bin/ruby.exe extconf.rb creating Makefile The system can not find the specified path D:Ruby193/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 be installed in order to build,but it is currently not available (RuntimeError) from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:35:in 'block in build_libv8!' from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:34:in 'chdir' from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:34:in 'build_libv8!' from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:34:in 'install!' from extconf.rb:7: in '<main>' I have installed the python27 and add the path. python --version Python 2.7.4 

然后我检查下面的代码。

  def setup_python! # If python v2 cannot be found in PATH, # create a symbolic link to python2 the current directory and put it # at the head of PATH. That way all commands that inherit this environment # will use ./python -> python2 if python_version !~ /^2/ unless system 'which python2 2>&1 > /dev/null' fail "libv8 requires python 2 to be installed in order to build, but it is currently #{python_version}" end `ln -fs #{`which python2`.chomp} python` ENV['PATH'] = "#{File.expand_path '.'}:#{ENV['PATH']}" end end 

我试图把Linux命令行安装到windows上,这样'ln -fs'应该可以工作,但是这个问题仍然无法解决。

尝试这个:

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

这个错误是一个痛苦,直到我运行上述命令:)

尝试与https://github.com/eakmotion/therubyracer_for_windows 。 我已经解决了我的Windows机器上使用此解决scheme相同的问题。

按着这些次序:

  1. 从这里获取合适的Python http://python.org/download/
  2. 用这个命令SET PATH=<ruby directory>;<python directory> (例如SET PATH=C:\Ruby192\bin;C:\Python27

现在安装你的愿望gem

 gem install libv8 

从这里得到这个解决scheme。

我不知道你是否得到这个版本的错误。 尝试这个:

 gem install libv8 --version 3.11.8.0 

确保你可以在你的系统上运行“ which ”命令。 这不是Windows本地的。

如果您安装了DevKit或RailsInstaller,则应该安装“ which ”。 然而,我也遇到了这个问题(我也有一些版本的Python安装和工作),只是发现,我的DevKit...下的which命令(和RailsInstaller下的…)实际上并没有工作。

等效的窗户就是“ where ”。 所以你应该运行“ WHERE which ”来查看你的系统上是否有/哪里有“which”命令。

这不会使'therubyracer'工作,或libv8的问题消失,但它是拼图的一部分。

(我已经把这个问题发布到msysGit的人看到他们对不执行'which'命令的评论。)

我可能会读这个错误,但我认为这个问题是这样的:

 unless system 'which python2 2>&1 > /dev/null' 

它正在寻找python2 ,实际上python的命令是简单的python

也许尝试别名python python2

do: gem install rmagick -v '2.13.2'

然后执行: gem install libv8 -v 3.11.8.17 -- --with-system-v8

这个错误是关于一个libv8-3.11.8.17 \ ext \ libv8 \ builder.rb脚本。 在第60行,我们可以看到这个代码:

 `python -c 'import platform; print(platform.python_version())'`.chomp 

这在Windows中是一个错误的python命令语法。 你应该使用双引号,如下所示:

 `python -c "import platform; print(platform.python_version())"`.chomp 

修复这个脚本之后,你应该使用“-l”(仅限本地)键运行gem install。 如果你不这样做,gem会再次下载一个带有错误的脚本。

这些是我必须采取以下步骤让therubyracer在Windows上工作:

1)安装Python 2.7

2)在这里https://github.com/eakmotion/therubyracer_for_windows,并按照说明操作;

3)在Gemfile&Run Bundle安装中注释therubyracer gem

 #gem 'therubyracer' 

4)在Gemfile&Run Bundle安装中取消注释gem therubyracer

 gem 'therubyracer'