安装gem时出错。无法为cygwin'的堆保留空间,Win32错误487[英] Error installing gem: Couldn't reserve space for cygwin's heap, Win32 error 487

本文是小编为大家收集整理的关于安装gem时出错。无法为cygwin'的堆保留空间,Win32错误487的处理方法,想解了安装gem时出错。无法为cygwin'的堆保留空间,Win32错误487的问题怎么解决?安装gem时出错。无法为cygwin'的堆保留空间,Win32错误487问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在尝试在我的机器上安装 win32-api gem,但在构建原生扩展时遇到了一些问题:

$ gem install win32-api --no-ri --rdoc
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
C:\Programs\dev_kit\bin\make.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
ERROR:  Error installing win32-api:
        ERROR: Failed to build gem native extension.

        c:/Programs/ruby/bin/ruby.exe extconf.rb
checking for strncpy_s()... no
creating Makefile

make
      0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x60E90000, RegionSize 0x170000, State 0x10000
C:\Programs\dev_kit\bin\make.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

在安装任何尝试编译原生扩展(例如 json 或 win32-api)的 gem 时会发生此问题.

我已经尝试过更改这台机器的虚拟内存大小,但没有成功.

我的配置:

  • Ruby 版本:1.8.7p371
  • Gem 版本:1.8.24
  • Bash 3.1.0
  • 开发套件 4.5.2
  • Windows 7 x64

推荐答案

我遇到了完全相同的问题,经过大量搜索和许多不同的尝试后,这就是为我解决的问题:

  1. http://www.tishler.net/jason/software/rebase/下载 rebase(下载最新的 *.exe 版本)并运行它.

  2. 启动提示符("以管理员身份运行")并转到您的 dev-kit 文件夹(例如,我的文件夹是 C:\Programs\dev_kit)

  3. 在 dev-kit 文件夹中,运行 devkitvars.bat 将 devkit 添加到路径中.

  4. 现在做一个 cd bin(它让我进入 C:\Programs\dev_kit\bin)并从那里运行:

    rebase -b 0x30000000 msys-1.0.dll
    

尝试再次安装 gem.现在您应该看到 Building native extensions. This could take a while... 而不是看到错误消息,它会在那里挂起一段时间.

您的 gem 应该会在几分钟/几秒后成功安装.不用再头疼了:)

本文地址:https://www.itbaoku.cn/post/786437.html