2011-11-29 25 views
5

Khi nhân bản ứng dụng Rails 3.1.1 đầu tiên của tôi, gói cài đặt đầu tiên của tôi bị nghẹt thở trên đá quý event2ach.10 0.12.10. (Tôi đang chạy Windows 7 32 bit)EventMachine gem workaround gây thiếu tập tin dll lỗi ruby, Windows 7

Tôi cũng đang sử dụng đá quý 'mỏng'.

Tôi tìm thấy bài đăng này có cùng vấn đề.

Which version of eventmachine is able to work in windows?

Mà tôi tích hợp với dòng này trong gemfile tôi:

gem "eventmachine", ">= 1.0.0.beta" 

Điều này cho phép các gói cài đặt để chạy nhưng khi tôi khởi động server ray tôi nhận được một Ruby sổ popup với ruby ​​tiêu đề. exe - Lỗi hệ thống và các văn bản

The program can't start because libgcc_s_sjlj-1.dll is missing from your computer. Try reinstalling the program to fix this problem. 

Sau khi tôi nhấn OK tôi nhận được thông báo này trong giao diện điều khiển

Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby' 

theo sau là theo dõi ngăn xếp dài (yêu cầu xem bạn có nghĩ rằng điều này sẽ giúp ích) hay không.

Tôi thấy rằng đá quý EventMachine yêu cầu trình biên dịch C++. Tôi đã cài đặt lại MinGW trên máy tính Windows 7 32 bit của mình và tôi đã thêm MinGW \ bin vào biến PATH của mình.

Nhưng khi tôi nhìn vào thư mục bin đó, tệp libgcc_s_sjlj-1.dll không có và thông báo lỗi tương tự vẫn tồn tại. Tôi tìm thấy chủ đề này về việc thiếu thư mục đó từ năm 2009 nhưng tôi không thực sự chắc chắn phải làm gì về nó.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=539033

Cảm ơn sự giúp đỡ nào bạn có thể cho tôi.

+0

gặp vấn đề tương tự –

+1

Chào mừng bạn đến với địa chỉ tương thích với windows/linux! Những công cụ mã nguồn mở này không được thiết kế cho Windows. Theo kinh nghiệm của tôi, khi bạn đã giải quyết được vấn đề này, bạn sẽ chỉ gặp vấn đề khác, cho đến khi bạn bỏ cuộc. Tôi đã trải qua điều đó.Tôi sẽ đề nghị một giải pháp phụ: chạy một linux ảo hóa trên máy cửa sổ của bạn. Đó là những gì tôi sử dụng và nó hoạt động rất tốt, bạn có apt-get và mọi thứ hoạt động ngay lập tức. – Offirmo

Trả lời

0

Thêm phần này vào đá quý của bạn nộp

gem 'eventmachine', '1.0.0.beta.4.1' 

Cũng lưu ý rằng nếu bạn chuyển về một hệ điều hành unix dựa, bạn sẽ phải sử dụng 1.0.0.beta.4.

+0

Nói cách khác, chỉ cần thực hiện 'gem 'eventmachine',"> = 1.0.0.beta.4 "," <= 1.0.0.beta.4.1 "' cho tính tốt đẹp đa nền tảng! – dain

0

Điều này có thể do eventmachine được liên kết động với dlls mingw.

Bạn có thể:

require 'devkit' 

trên đỉnh của kịch bản của bạn. Điều này sẽ tạm thời nâng cao đường dẫn của bạn với đường dẫn đến devkit mingw.

Source

5

tôi giải quyết vấn đề này bằng cách thêm

require "em/pure_ruby" 

trong config/application.rb

Hy vọng điều này có thể giúp đỡ.

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