Ruby on Rails: запуск Typhoeus в Windows 7 (64 бит)

Я не могу заставить драгоценный камень Typhoeus работать на моей машине с Windows 7.

По сути, он не находит файл "native.so" в "C:/Ruby192/lib/ruby/gems/1.9.1/gems/typhoeus-0.2.4/ext/typhoeus/". Как это исправить?

 C:/Ruby192/lib/ruby/gems/1.9.1/gems/typhoeus-0.2.4/lib/typhoeus.rb:10:in
 `require': 126: The specified module
 could not be found.   -
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/typhoeus-0.2.4/ext/typhoeus/native.so
 (LoadError)    from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/typhoeus-0.2.4/lib/typhoeus.rb:10:in
 `<top (required)>'     from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:in
 `require'  from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:in
 `block (2 levels) in require'  from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:in
 `each'     from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:in
 `block in require'     from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:in
 `each'     from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:in
 `require'  from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler.rb:120:in`require'

3 ответа

Решение

Проблема заключается в том, что typhoeus требует curl как библиотеки разработки, чтобы успешно скомпилировать его. native.so расширение.

Сначала вам необходимо установить RubyInstaller DevKit со страницы загрузок. Во-вторых, вам понадобятся заголовки и библиотеки для curl и development для MinGW, инструкции по которым вы можете найти в нашем списке рассылки:

http://groups.google.com/group/rubyinstaller/browse_thread/thread/c8a4bdb6663cbf7c

Напомним, что в этом же посте упоминается, насколько неудачной была попытка пользователя заставить камень работать в Windows, и он прекратил переключаться на обочину.

PS: в то время как другие могут сказать, что *.so - это соглашение UNIX/POSIX для общих объектов, это расширение, которое Ruby решил использовать для Windows C-Extensions, как в Python *.pyd для их расширений.

Для меня (Win7 x64) работало скачивание.dll по ссылке Download libcurl.dll (all versions) onlyнаходится здесь: http://www.paehl.com/open_source/?CURL_7.35.0.

После извлечения я взял файл.dll из NoSSL/SSL каталог (либо, кажется, работает, я использовал SSL просто чтобы убедиться). Я скопировал файл в каталог Ruby / bin, и Typhoeus сработал.

Примечание. Вы не можете использовать x64-версию.dll, потому что Ruby 32-битный. Typhoeus не отреагировал на файл x64.

Надеюсь, это кому-нибудь поможет.

Если этот драгоценный камень ищет native.so тогда это может не работать с окнами, *.so * *NIX эквивалент *.dll для окон - файл с "общим объектом" или "динамически связанная библиотека". Так что это может действительно понадобиться native.dllили быть самоцветом, построенным на платформо-зависимом коде. Посмотрите на их документацию, это всего лишь выстрел в темноте.

опять же, он говорит, что что-то произошло в native.so ( LoadError), так что, возможно, его начало выполнено, idk

Другие вопросы по тегам