2011-10-15 25 views
12

Tôi đang thực hiện cài đặt gói và tất cả các đá quý hoạt động tốt ngoại trừ JSON khi nhận được đá quý JSON tôi nhận được lỗi này.Không thể cài đặt đá quý JSON trong đường ray bằng cách sử dụng các cửa sổ

Installing json (1.6.1) with native extensions c:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:55 
    2:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::E 
    xtensionBuildError) 

      c:/Ruby192/bin/ruby.exe extconf.rb 
    checking for re.h... *** extconf.rb failed *** 
    Could not create Makefile due to some reason, probably lack of 
    necessary libraries and/or headers. Check the mkmf.log file for more 
    details. You may need configuration options. 

Bất kỳ ý tưởng nào về nguyên nhân gây ra lỗi này?

Trả lời

4

Đó là vì đá quý này sử dụng một đoạn mã được viết trên C. Để hoạt động đúng, bạn cần cài đặt trình biên dịch c trên máy của bạn. Như một cách, cố gắng sử dụng json_pure viết trên tinh khiết của Ruby

16

Bạn đang làm việc với Windows, do đó Development Kit RubyInstaller có thể giúp bạn: http://rubyinstaller.org/add-ons/devkit/

Các devkit cài đặt một C-trình biên dịch (và một số công cụ khác) để biên dịch các phần C-viết.

Cài đặt và thử lại để cài đặt đá quý - có thể với tùy chọn --platform=ruby.

chi tiết có thể được tìm thấy tại https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

+5

Đây là câu trả lời đúng nhưng chắc chắn để làm đá quý cập nhật --system hoặc bạn vẫn sẽ có vấn đề với rubyinstaller – pguardiario

+1

Nice, giải quyết vấn đề của tôi với DevKit +1 – a5his

+2

Thậm chí có cả trình cài đặt Nuzzet của Chocolatey dành cho devkit! http://chocolatey.org/packages/ruby.devkit – mcandre

0

Tôi không phải là một chuyên gia trong ROR, nhưng sự cố cài đặt JSON mà tôi nhận được khi cài đặt Redmine đã được giải quyết bằng cách làm như sau:

  • Tạo một make .bat tại D: \ LANGS \ MinGW \ bin
  • Giữ thư mục này trong PATH
  • Chỉnh sửa make.bat ở trên và thêm dòng, D: \ LANGS \ MinGW \ msys \ 1.0 \ bin \ make.exe

Những gì tôi nhận ra là, mingw32-make.exe không bao giờ hoạt động, nhưng 'D: \ LANGS \ MinGW \ msys \ 1.0 \ bin \ make.exe' đã hoạt động.

Lưu ý: Cài đặt MinGW của tôi nằm dưới D: \ LANGS \. Vui lòng thực hiện các thay đổi tương ứng trong cài đặt cụ thể của bạn.

-1

Có, hãy cài đặt bộ công cụ phát triển. Ngoài ra, bạn sẽ cần phải chạy một vài dòng lệnh để cài đặt nó (không chỉ đơn giản là tải về và chạy).

Tải xuống, chạy nó để giải nén nó ở đâu đó (vĩnh viễn). Sau đó, cd vào nó, chạy ruby ​​dk.rb init và ruby ​​dk.rb cài đặt để liên kết nó với các cài đặt ruby ​​trong đường dẫn của bạn.

Hướng dẫn cho điều đó là ở đây:

https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

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