Какая версия Ruby для Watir в Windows? - PullRequest
3 голосов
/ 13 июля 2010

Какую версию Ruby я должен использовать в среде Windows?

Я пытаюсь использовать Watir на 1.9, и он не работает. Будет работать на 1.8.6.

Любые рекомендации по какой версии использовать и причины, по которым Watir не работает на 1.9

Ответы [ 5 ]

5 голосов
/ 13 июля 2010

Watir.com рекомендует использовать Ruby 1.8.6-26. Я не пробовал, но есть Watir, который утверждает, что он совместим с Ruby 1.9:

http://github.com/vapir/vapir

3 голосов
/ 13 июля 2010

Я использую этот, и он работает:

>ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
2 голосов
/ 03 сентября 2010

Чтобы Watir (и FireWatir) могли работать на ruby ​​1.9.2 установите devkit и следуйте инструкциям, перечисленным здесь: http://rubyinstaller.org/downloads/ Ruby Installer на GitHub

gem удалить win32-api gem install win32-api --platform = ruby ​​

2 голосов
/ 13 июля 2010

Лучше всего использовать версии Ruby mingw, поставляемые с RubyInstaller . Старые версии Ruby для mswin32 считаются устаревшими. Некоторые драгоценные камни должны быть скомпилированы из исходного кода (хорошим примером является RedCloth), и для этого вам нужно установить DevKit ; тем не менее, watir ничего не нужно компилировать - все его гем-зависимости предварительно скомпилированы с расширениями mingw32 (nokogiri и win32-api).

Вы можете установить несколько версий Ruby (включая JRuby и IronRuby) в Windows, используя Pik . Установив гем Pik, вы можете легко установить новые версии ruby, введя такие команды, как pik install ruby 1.9.1 или pik install jruby. Вы даже можете pik install devkit установить DevKit для всех установленных копий Ruby. Документацию и множество примеров использования можно найти здесь .

2 голосов
/ 13 июля 2010

Нет "правильной" версии.1.8.6, 1.8.7 и 1.9.1 официально * рекомендованы , что не сильно помогает!

Когда камни 1.8.x не работают с 1.9.x подВ Windows часто случается, что гем - или одна из его зависимостей - включает скомпилированный элемент (DLL, обычно называемый расширением .so), и этот компонент еще не был скомпилирован для mingw32, который является стандартнымдля Ruby 1.9, тогда как 1.8.6 и предыдущие версии были скомпилированы с (старой) MS Visual C.

Глядя на драгоценный камень watir, я вижу, что он включает в себя win32ole.so, что может быть проблемой.Я не уверен, почему это должно было быть необходимо - это часть установленного набора для Windows.Возможно, разработчикам нужно было обеспечить фиксированную стабильную версию, чтобы они использовали конкретную версию, а не использовали версию из библиотеки.Или может они что-то исправили?Не знаю.

Кроме того, watir также зависит от win32-api и nokogiri, которые установили версии mswin32 на мою машину и должны иметь версии mingw32 для работы с 1.9.

Не имеяэкземпляр 1.9 в руки, я не могу быстро определить, существуют ли эти версии.

Попробуйте найти версию win32ole.so для mingw32 (возможно, где-то вроде [ruby-dir] /lib/ruby/1.9/i386).-mingw32) и положить его вместо того, что использовал watir.

...