3

Windows 環境ではどのバージョンの Ruby を使用すればよいですか?

1.9 で Watir を使用しようとしていますが、動作しません。1.8.6 で動作します。

使用するバージョンに関する推奨事項と、Watir が 1.9 で動作しない理由

4

5 に答える 5

5

Watir.comは、Ruby1.8.6-26の使用を推奨しています。私は試していませんが、Ruby1.9と互換性があると主張するWatirのフォークがあります。

http://github.com/vapir/vapir

于 2010-07-13T12:32:30.110 に答える
3

私はこれを使用し、それは機能します:

>ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
于 2010-07-13T14:19:21.027 に答える
2

Watir(およびFireWatir)をruby 1.9.2で実行できるようにするには、devkitをインストールし、次の手順に従います。http://rubyinstaller.org/downloads/GitHubのRubyインストーラー

gemアンインストールwin32-apigemインストールwin32-api--platform= ruby

于 2010-09-02T20:00:21.430 に答える
2

RubyInstallerに付属しているmingwバージョンのRubyを使用することをお勧めします。Rubyの古いmswin32バージョンはレガシーと見なされます。一部のgemはソースからコンパイルする必要があり(RedClothが良い例です)、このためにはDevKitをインストールする必要があります。ただし、watirをコンパイルする必要はありません。gemの依存関係はすべて、mingw32拡張機能(nokogiriおよびwin32-api)でプリコンパイルされています。

Pikを使用して、Windowsに複数のバージョンのRuby(JRubyおよびIronRubyを含む)をインストールできます。Pik gemをインストールしたら、pik install ruby 1.9.1またはなどのコマンドを発行することで、新しいバージョンのrubyを簡単にインストールできますpik install jrubypik install devkitインストールされているRubyのすべてのコピーにDevKitをインストールすることもできます。ドキュメントと多くの使用例はここにあります。

于 2010-07-13T11:08:20.127 に答える
2

「正しい」バージョンはありません。1.8.6、1.8.7、および 1.9.1 はすべて公式に「推奨」されていますが、これはあまり役に立ちません!

Windows で 1.8.x の gem が 1.9.x で動作しない場合、多くの場合、gem (またはその依存関係の 1 つ) にコンパイル済みの要素 (通常は.so拡張子が付いた名前の DLL) が含まれており、このコンポーネントには「 Ruby 1.9 の標準である mingw32 に対してはまだコンパイルされていませんが、1.8.6 以前のバージョンは (古い) MS Visual C でコンパイルされていました。

watir gem を見ると、問題の可能性がある win32ole.so が含まれていることがわかります。なぜそれが必要だったのかはわかりません.Windows用にインストールされたセットの一部です. おそらく開発者は、ライブラリのバージョンを使用するのではなく、特定のバージョンを強制的に使用するように、固定された安定バージョンを確保する必要がありました。それとも、彼らは何かを修正しましたか?わからない。

さらに、watir は win32-api と nokogiri にも依存しています。どちらも私のマシンに mswin32 バージョンをインストールしており、1.9 で動作するには mingw32 バージョンが必要です。

手元に 1.9 のインスタンスがないので、これらのバージョンが存在するかどうかすぐにはわかりません。

win32ole.so の mingw32 バージョン (おそらく [ruby-dir]/lib/ruby/1.9/i386-mingw32 のような場所) を探して、watir が使用するものの代わりに配置してみてください。

于 2010-07-13T09:17:35.900 に答える