Ruby on Rails: запуск Typhoeus в Windows 7 (64 бит) - PullRequest
5 голосов
/ 14 июня 2011

Я не могу заставить драгоценный камень 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 ]

3 голосов
/ 07 марта 2014

Что у меня получилось (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 сработал.

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

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

1 голос
/ 14 июня 2011

Проблема заключается в том, что 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, подобно тому, как Python использует *.pyd для своих расширений.

0 голосов
/ 14 июня 2011

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

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

...