【问题标题】:ERROR: Failed to build gem native extension Windows 7 32 Bit错误:无法构建 gem 原生扩展 Windows 7 32 位
【发布时间】:2017-05-23 12:35:39
【问题描述】:

我正在尝试在 Windows 7 32 系统上安装 json ruby​​ gem。

本地环境详情

D:\Environment\DevKit32Ruby200>gem -v
2.0.14

D:\Environment\DevKit32Ruby200>ruby -v
ruby 2.0.0p451 (2014-02-24) [i386-mingw32]

D:\Environment\DevKit32Ruby200>rails -v
Rails 4.0.4

我已经尝试过以下事情

  1. 将系统 ruby​​ gems 版本降级到 2.3.0 使用

    gem update --system 2.3.0
    
  2. 我已经正确设置了 devkit,并在 config.yml 文件中手动添加了正确的 ruby​​ 目录路径。

    D:\Environment\DevKit32Ruby200>ruby dk.rb init
    
     Initialization complete! Please review and modify the auto-generated
     'config.yml' file to ensure it contains the root directories to all
     of the installed Rubies you want enhanced by the DevKit.
    
    D:\Environment\DevKit32Ruby200>ruby dk.rb install --force
        [WARN] Updating (with backup) existing gem override for                            'D:/Environment/ruby200new'
       [WARN] Updating (with backup) DevKit helper library for 'D:/Environment/ruby200new'
    
  3. 我也试过把 platform=ruby

    gem install json --platform=ruby --verbose
    

我在安装 json 时遇到的错误如下。

D:\Environment\DevKit32Ruby200>gem install json
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

    D:/Environment/ruby200new/bin/ruby.exe extconf.rb
creating Makefile

make "DESTDIR="
generating generator-i386-mingw32.def
compiling generator.c
linking shared-object json/ext/generator.so

make "DESTDIR=" install
/usr/bin/install -c -m 0755 generator.so ./.gem.20170109-8336-qvgvzc/json/ext
make: execvp: /usr/bin/install: Permission denied
make: *** [install-so] Error 127


Gem files will remain installed in D:/Environment/ruby200new/lib/ruby/gems/2.0.0/gems/json-2.0.2 for inspection.
Results logged to D:/Environment/ruby200new/lib/ruby/gems/2.0.0/gems/json-2.0.2/ext/json/ext/generator/gem_make.out

已经有 10 个问题被标记在这个问题上,但没有一个得到解决。 请帮助我确定缺少的内容以及错误出现的原因。

【问题讨论】:

  • 请检查“ruby dk.rb init”命令生成的“config.yml”文件并检查安装的ruby版本和路径
  • 我在 config.yml 中手动添加了正确的 ruby​​ 目录路径,没有问题
  • 根据日志,看起来问题出在 ruby​​ 路径中,但无论如何尝试使用 gem install json --platform=ruby
  • 得到这个错误:D:\APPS\LX_release7_JanPRD>gem install json --platform=ruby 临时增强 PATH 以包含 DevKit... 构建原生扩展。这可能需要一段时间... 错误:安装 json 时出错:错误:无法构建 gem 原生扩展。
  • 你为什么要这样做?必须有一个非常很好的理由提供赏金在 MINGW 上编译 JSON ^_^

标签: ruby-on-rails json ruby ruby-on-rails-4 devkit


【解决方案1】:

i386-mingw32 是一个永远无法完全支持的痛苦之山,当我花时间在 Windows 上时,我曾经使用安装了 ubuntu 的 VirtualBox VM,它与 Windows 主机共享一个文件夹。我会在 windows 中用 netbeans 编辑文件并在 putty 中运行代码,VM 基本上是无头的。

我实际上以这种方式做了很多真正的工作。如果你想做一个“Hello World”rails 应用程序——好的——即使这样也祝你好运。像https://c9.io/这样的在线开发环境怎么样?

但是,如果您想工作,而不仅仅是玩耍,至少要为自己设置一个 Ubuntu VM,或者最好在 Ubuntu/MacOS 中工作。

【讨论】:

  • 我同意这一点。我也遇到了这个错误,经过多次不成功的尝试,我切换到了 Ubuntu。之后一切都运行良好。
【解决方案2】:

试试这个:

为什么不从rubygems.org下载json.gem文件,直接使用命令安装

gem install json-x.x.x.gem

【讨论】:

    猜你喜欢
    • 2014-12-04
    • 2014-10-25
    • 2014-06-04
    • 2016-07-29
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 2020-04-23
    • 2013-04-21
    相关资源
    最近更新 更多