2013-10-08 45 views
6

私は私のマシン上でwin32-api宝石をインストールしようとしているとネイティブ拡張を構築するとき、私はいくつかの問題に直面している:エラー:cygwinのヒープのためのスペースを確保できませんでした、Win32エラー487

$ 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
  • 宝石のバージョン:1.8.24
  • バッシュ3.1.0
  • 開発キット4.5.2
  • のWindows 7のx64
+0

この質問で将来の人が落ちてもそれほど重大ではない場合は、まずリブートを試みてください。私はアンインストール/再インストールと同じエラーに来て終わった... 1再起動、すべて修正されました。もう一つの同様の質問:http://stackoverflow.com/questions/18502999/git-extensions-win32-error-487-couldnt-reserve-space-for-cygwins-heap-win32/31970708#31970708 –

答えて

12

私はまったく同じ問題に直面していました。多くの検索を行い、多くのディープ試行を借り、これは私のためにそれを固定するものである:http://www.tishler.net/jason/software/rebase/から

  1. ダウンロードrebaseファイル(.exeバージョン*最新のをダウンロード)し、それを実行します。

  2. 火災アッププロンプト(「管理者として実行」)とあなたのdev-kitフォルダに移動(例えば、鉱山はC:\Programs\dev_kitた)

  3. 開発キットのフォルダ内に、開発キットを追加する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...が表示され、しばらくはハングします。

あなたのgemは数分後にインストールする必要があります。もう頭痛はありません:)

+2

私にとって、devkitのbinディレクトリ、管理者propmtは 'rebase'を認識しません... – user1364684

+0

これを実行した後、元の問題はなくなりましたが、「***ターゲットパターンに '%'が含まれていません」というエラーが表示され始めました。私が見つけたもっとも簡単な修正は 'gem update --system 2.3.0'を使ってRubyGemsをダウングレードすることでした。詳細はこちら(https://github.com/rubygems/rubygems/issues/977)。 – dmccabe

+0

これは、rebaseを実行しようとすると、 'cygwin1.dllがあなたのコンピュータに存在しません 'というエラーをスローします... –

関連する問題