安装gem时出错:无法为cygwin的堆保留空间,Win32错误487

Gla*_*ius 6 ruby gem rubygems devkit

我正在尝试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
Run Code Online (Sandbox Code Playgroud)

安装任何尝试编译本机扩展的gem时会发生此问题,例如json或win32-api.

我已经尝试改变这台机器的虚拟内存大小,但它没有用.

我的配置:

  • Ruby版本:1.8.7p371
  • 宝石版:1.8.24
  • Bash 3.1.0
  • DevKit 4.5.2
  • Windows 7 x64

Nic*_*fal 12

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

  1. 下载rebasehttp://www.tishler.net/jason/software/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
    
    Run Code Online (Sandbox Code Playgroud)

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

几分钟/秒后,您的宝石应该成功安装.不再头疼:)

  • 对我来说,在devkit bin目录中,管理员propmt不识别'rebase'... (2认同)