簡體   English   中英

安裝gem時出錯:無法為cygwin的堆保留空間,Win32錯誤487

[英]Error installing gem: Couldn't reserve space for cygwin's heap, Win32 error 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

安裝任何嘗試編譯本機擴展的gem時會發生此問題,例如json或win32-api。

我已經嘗試改變這台機器的虛擬內存大小,但它沒有用。

我的配置:

  • Ruby版本:1.8.7p371
  • 寶石版:1.8.24
  • Bash 3.1.0
  • DevKit 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以將devkitvars.bat添加到路徑中。

  4. 現在做一個cd bin (它讓我到C:\\Programs\\dev_kit\\bin )並從那里運行:

     rebase -b 0x30000000 msys-1.0.dll 

嘗試再次安裝寶石。 現在您應該看到Building native extensions. This could take a while... ,而不是看到錯誤消息Building native extensions. This could take a while... Building native extensions. This could take a while...它會在那里停留一段時間。

幾分鍾/秒后,您的寶石應該成功安裝。 不再頭疼:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM