6

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 をインストールするときに発生します。

このマシンの仮想メモリのサイズを変更しようとしましたが、うまくいきませんでした。

私の構成:

  • ルビーのバージョン: 1.8.7p371
  • ジェムのバージョン: 1.8.24
  • バッシュ 3.1.0
  • 開発キット 4.5.2
  • ウィンドウズ 7 x64
4

1 に答える 1

12

私はまったく同じ問題に直面していましたが、多くの検索とさまざまな試行を行った後、これが修正されました。

  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 は数分/秒後に正常にインストールされるはずです。もう頭痛はありません:)

于 2013-10-08T22:09:00.993 に答える