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