【问题标题】:Attempting to install libv8, "failed to build gem native extension"尝试安装 libv8,“未能构建 gem 原生扩展”
【发布时间】:2012-07-08 08:26:06
【问题描述】:

我正在使用 W7 64 位。简单来说,当我进入时:

C:\Sites>gem install libv8

我得到这个结果:

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing libv8:
ERROR: Failed to build gem native extension.

    C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
creating Makefile
which: no gmake in ("my PATH is here, and as far as I know it should include everything I need")
/usr/bin/env: python: No such file or directory
C:\RailsInstaller\DevKit\bin\make.EXE: *** [out/Makefile.ia32] Error 127
Using compiler: C:\RailsInstaller\DevKit\mingw\bin\g++.EXE
GYP_GENERATORS=make \
    build/gyp/gyp --generator-output="out" build/all.gyp \
                  -Ibuild/standalone.gypi --depth=. \
                  -Dv8_target_arch=ia32 \
                  -S.ia32 -Dhost_arch=ia32


Gem files will remain installed in C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9
.1/gems/libv8-3.11.8.3 for inspection.
Results logged to C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.1
1.8.3/ext/libv8/gem_make.out

卸载重装都不行。

我正在尝试安装 libv8,因为它是 twitter-bootstrap-rails 的依赖项。

编辑:正如我所说,我在 Windows 上,现在我意识到在此错误中列出了一个文件路径为 /usr/bin/env。所以这很奇怪。

【问题讨论】:

  • 有几件事: 1. 您是否安装了 gmake/python 并在您的路径中? 2. 什么是运行安装? (mingw/cygwin 等)
  • 我的路径中有 python,C:/Python27/。我不知道我的路径中是否有 gmake,因为我一直在寻找如何安装它。我认为它已经安装并与所有其他宝石一起位于某个地方。我认为安装正在 mingw 中运行。如果有帮助,我会使用 RailsInstaller 安装所有东西,因为否则我永远无法让 ruby​​gems 正常工作。
  • 检查C:\RailsInstaller\DevKit\mingw\bin 获取 gmake.exe。如果您在那里找不到它,这就是导致构建错误的原因。从你那里的命令行来看,你正在标准的 Windows 命令提示符下运行。您应该有msys.batgit-bash 可用。尝试从那里运行命令,因为它更可靠。
  • 我应该从哪里安装 gmake? Rubygems 找不到它,所以我从 sourceforge 下载了 GNU make,弹出它,意识到它被命名为“make.exe”,重命名它,现在我得到一个错误,“libintl3.dll”找不到,所以这可能也不是最好的方法。另外,我正在使用“命令提示符与 Ruby 和 Rails”
  • 根据this,如果您的 Gemfile 中有 therubyracer gem,您应该将其删除,因为 Windows 已经有 JavaScript 运行时。如果不是这种情况,请尝试从 msys 中运行安装(提示:从“开始”菜单中搜索 msys.bat)。

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems


【解决方案1】:

我遇到了与您描述的相同的 Windows 问题:

gem 'twitter-bootstrap-rails'

当我从 github 切换这个版本时:

gem 'twitter-bootstrap-rails', :github => 'seyhunak/twitter-bootstrap-rails'

没问题。试一试。

【讨论】:

  • gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git' 是正确的行
【解决方案2】:

解决办法是安装.0版

gem install libv8 --version 3.11.8.0

直到这个问题得到解决,因为我也经历过这个

【讨论】:

  • gem install libv8 --pre 为我工作,没有 --pre 它没有。
  • 对于寻找这个答案的其他人:libv8 时不时地不会在 Windows 上编译。只需将版本更改为较早的版本,然后等待修复可用。大多数 gem 也尽量不依赖于这个 libv8,但有时它似乎只是偶然被拉进来的。
  • 只要确保你安装了 python 2
【解决方案3】:

我遇到了这个问题,上面的@xiy 引导我找到了答案。不得不改变

gem 'therubyracer'

gem 'therubyracer', :platforms => :ruby

因为 Windows 不需要或不喜欢那个 gem。

【讨论】:

    猜你喜欢
    • 2017-06-28
    • 2013-11-09
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 2016-01-17
    相关资源
    最近更新 更多