2013-03-21 26 views
19

Khi cài đặt Ruby on Rails (thông qua gem install rails), bạn có thể nhận được thông báo lỗi sau:Tại sao cài đặt Ruby on Rails tạo ra lỗi "kích thước mảng 'ruby_check_sizeof_voidp' là âm"?

c:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:109:14: error: size of array 'ruby_check_sizeof_voidp' is negative 

Cũng sẽ có nhiều cảnh báo như thế này:

c:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:1333:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 

và một lỗi thêm

c:/Ruby193/include/ruby-1.9.1/ruby/missing.h:41:8: error: redefinition of 'struct timespec' 

Tại sao điều này xảy ra và làm cách nào tôi có thể cài đặt thành công Rails?

Trả lời

29

Điều này xảy ra khi bạn đã cài đặt phiên bản sai của DevKit cho phiên bản Ruby của bạn, ví dụ: nếu bạn đã cài đặt DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe vào phiên bản Ruby 1.9.3.

Để khắc phục sự cố, cài đặt lại Ruby và cài đặt đúng DevKit cho phiên bản Ruby của bạn, như được chỉ ra trong phần có tiêu đề "Bộ phát triển nào?" tại http://rubyinstaller.org/downloads.

+4

Chỉ cần tiết kiệm cho tôi một giờ đập đầu của tôi chống lại vấn đề này - cảm ơn Harry! – Phantomwhale

+4

Nếu bạn thực tế đã tải xuống phiên bản chính xác của 'DevKit', nhưng trước đây bạn đã cài đặt một số phiên bản khác (miễn là bạn đã vượt qua [bước 4] (https://github.com/oneclick/rubyinstaller/wiki/Development-Kit # 4-run-installation-scripts)) bạn có thể muốn thử ' \ ruby ​​dk.rb init --force' (không chỉ' config.yml' được khởi động trong bước 'init') . –

+0

Cảm ơn bạn, câu trả lời của bạn đã giúp tôi. Chúc mừng. –

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