2010-07-13 33 views
3

我應該在Windows環境下使用哪個版本的Ruby?Windows上Watir的哪個Ruby版本?

我想在1.9上使用Watir,它不起作用。將在1.8.6上工作。

任何recomendations上所使用的版本和原因的Watir不上1.9

+1

你怎麼知道它是不工作是它給?錯誤? – Salil 2010-07-13 07:33:54

+0

你正在使用哪種瀏覽器?watir是瀏覽器專用的嗎?例如,對於mozilla,你必須使用'firewatir' – Salil 2010-07-13 07:37:55

回答

2

工作有沒有「正確」的版本。 1.8.6,1.8.7和1.9.1都是officially "recommended",這對幫助不大!

當1.8.x gems在1.9下無法在Windows下工作時,通常情況下,gem或其依賴項之一包含一個編譯元素(一個DLL,通常以.so擴展名命名)和該組件尚未針對mingw32(這是Ruby 1.9的標準)進行編譯,而1.8.6和以前的版本使用(舊)MS Visual C.編譯。

看着watir gem,我看到它包括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使用的位置。

2

最好使用與RubyInstaller一起提供的Ruby的mingw版本。舊的mswin32版本的Ruby被認爲是遺留的。一些寶石需要從源代碼編譯(RedCloth就是一個很好的例子),爲此你需要安裝DevKit;然而,watir並不需要編譯任何東西 - 所有的gem依賴都是用mingw32擴展(nokogiri和win32-api)預編譯的。

您可以在Windows上使用Pik安裝多個版本的Ruby(包括JRuby和IronRuby)。安裝Pik gem後,您可以通過發出諸如pik install ruby 1.9.1pik install jruby之類的命令輕鬆安裝新版本的ruby。您甚至可以執行pik install devkit來爲所有已安裝的Ruby副本安裝DevKit。文檔和大量使用示例可參見here

3

我用這個和它的作品:

>ruby -v 
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] 
2

允許的Watir(和FireWatir)運行在紅寶石1.9上。2 安裝的devkit,並請按下列步驟:http://rubyinstaller.org/downloads/紅寶石安裝在GitHub上

寶石卸載Win32的API 創業板安裝Win32的API --platform =紅寶石

相關問題