2013-10-08 17 views
6

Tôi đang cố gắng để cài đặt win32-api đá quý trên máy tính của tôi và tôi đang phải đối mặt với một số vấn đề khi xây dựng mở rộng bản địa:Lỗi khi cài đặt đá quý: Không thể đặt chỗ cho đống Cygwin của, Win32 lỗi 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 

này vấn đề xảy ra khi cài đặt bất kỳ đá quý nào cố gắng biên dịch một tiện ích mở rộng gốc, chẳng hạn như json hoặc win32-api chẳng hạn.

Tôi đã cố gắng thay đổi kích thước bộ nhớ ảo của máy này, nhưng nó không hoạt động.

cấu hình của tôi:

  • của Ruby phiên bản: 1.8.7p371
  • Gem phiên bản: 1.8.24
  • Bash 3.1.0
  • devkit 4.5.2
  • Windows 7 x64
+0

Nếu nó không gây rối cho những người trong tương lai rơi xuống bởi câu hỏi này, hãy thử khởi động lại trước. Tôi đã kết thúc việc gỡ cài đặt/cài đặt lại và đến cùng một lỗi ... 1 khởi động lại, tất cả đã được khắc phục. Một câu hỏi tương tự khác: http://stackoverflow.com/questions/18502999/git-extensions-win32-error-487-couldnt-reserve-space-for-cygwins-heap-win32/31970708#31970708 –

Trả lời

12

Tôi đã đối mặt với cùng một vấn đề chính xác và sau khi thực hiện nhiều tìm kiếm và nhiều sự khác biệt thuê cố gắng, đây là những gì cố định nó cho tôi:

  1. Tải rebase từ http://www.tishler.net/jason/software/rebase/ (tải về mới nhất * .exe phiên bản) và chạy nó.

  2. cháy lên một Prompt ("Run as administrator") và đi đến thư mục dev-kit của bạn (ví dụ, tôi đã C:\Programs\dev_kit)

  3. Trong khi trong thư mục devkit, chạy devkitvars.bat thêm devkit đến con đường.

  4. Bây giờ làm một cd bin (nó đã cho tôi để C:\Programs\dev_kit\bin) và từ đó chạy:

    rebase -b 0x30000000 msys-1.0.dll 
    

Cố gắng cài đặt các viên ngọc lại. Thay vì nhìn thấy một thông báo lỗi, bây giờ bạn sẽ thấy Building native extensions. This could take a while... và nó sẽ treo trong một thời gian ở đó.

Đá quý của bạn sẽ được cài đặt thành công sau một vài phút/giây. Không còn đau đầu nào nữa :)

+2

Đối với tôi, trong khay devkit thư mục, quản trị viên propmt không nhận ra 'rebase' ... – user1364684

+0

Sau khi chạy điều này, vấn đề ban đầu đã biến mất, nhưng sau đó tôi bắt đầu thấy lỗi chứa "mẫu đích *** không chứa '%'". Cách khắc phục dễ nhất mà tôi tìm thấy là hạ cấp RubyGems bằng cách sử dụng 'gem update --system 2.3.0'. Chi tiết [tại đây] (https://github.com/rubygems/rubygems/issues/977). – dmccabe

+0

Điều này ném lỗi về 'cygwin1.dll là thiếu từ máy tính của bạn' khi cố gắng chạy rebase ... –

Các vấn đề liên quan