2013-10-08 12 views
6

Ich versuche win32-api Juwel auf meinem Rechner zu installieren und ich habe einige Fragen, mit denen beim nativen Erweiterung Aufbau:Fehler bei der Installation gem: Können nicht reservieren Platz für Cygwin Heap, Win32-Fehler 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 

Dieser Das Problem tritt auf, wenn ein Juwel installiert wird, das versucht, eine native Erweiterung wie json oder win32-api zu kompilieren.

Ich habe bereits versucht, die Größe des virtuellen Speichers dieser Maschine zu ändern, aber es hat nicht funktioniert.

Meine Konfiguration:

  • Ruby-Version: 1.8.7p371
  • Gem Version: 1.8.24
  • Bash 3.1.0
  • DevKit 4.5.2
  • Windows 7 x64
+0

Wenn es nicht zu störend für zukünftige Leute ist, die durch diese Frage fallen lassen, versuchen Sie zuerst einen Neustart. Ich landete mit der Deinstallation/Neuinstallation und kam zu dem gleichen Fehler ... 1 Neustart, alles behoben. Eine andere ähnliche Frage: http://stackoverflow.com/questions/18502999/git-extensions-win32-error-487-couldnt-reserve-space-for-cygwins-heap-win32/31970708#31970708 –

Antwort

12

Ich war genau das gleiche Problem und nach vielen Suchen und vielen verschiedenen mieten versucht, ist es das, was es für mich festgelegt:

  1. Herunterladen rebase von http://www.tishler.net/jason/software/rebase/ (laden Sie die neueste Version * .exe) und führen Sie es.

  2. Feuer auf eine Eingabeaufforderung („Als Administrator ausführen“) und gehen Sie zu Ihrem dev-kit Ordner (zum Beispiel war mein C:\Programs\dev_kit)

  3. Während im devkit Ordner devkitvars.bat laufen devkit auf dem hinzufügen Pfad.

  4. Jetzt mache ein cd bin (es hat mich zu C:\Programs\dev_kit\bin) und von dort laufen:

    rebase -b 0x30000000 msys-1.0.dll 
    

Versuchen Sie, die Edelsteine ​​wieder zu installieren. Anstatt eine Fehlermeldung zu sehen, sollten Sie jetzt Building native extensions. This could take a while... sehen und es wird für eine Weile dort hängen.

Ihr Juwel sollte nach ein paar Minuten/Sekunden erfolgreich installiert werden. Keine Kopfschmerzen mehr :)

+2

Für mich, in devkit bin Verzeichnis, der Administrator propmt erkennt 'Rebase' nicht ... – user1364684

+0

Nach dem Ausführen ging das ursprüngliche Problem weg, aber dann fing ich an, Fehler zu sehen, die "*** target pattern contains no '%'" enthielten. Die einfachste Lösung, die ich gefunden habe, war das Downgrade von RubyGems mit 'gem update --system 2.3.0'. Details [hier] (https://github.com/rubygems/rubygems/issues/977). – dmccabe

+0

Dies wirft Fehler über 'cygwin1.dll fehlt von Ihrem Computer' beim Versuch, Rebase auszuführen ... –