2011-11-01 11 views
12
この問題は、今日のカップルのための私を盗聴されて

...私は.bring_to_front方法ロードするようなファイル - ffi_c(とLoadError)

require "rubygems" 
require "watir" 

browser = Watir::Browser::new 
browser.bring_to_front 

を使用しているときはいつでも、私はこのエラーを取得する:

(...)rubygems/custom_require.rb:36:in `require': no such file to load -- ffi_c (LoadError) 

私は、ffi/watir/ruby​​/netbeansをアンインストールして再インストールしてみましたが、失敗しました。

ライン36は、* LOCAL GEMSは、私が不足しているファイルは、FFIの宝石に関連すると思わ

archive-tar-minitar (0.5.2) 
builder (3.0.0) 
childprocess (0.2.2) 
columnize (0.3.4) 
commonwatir (2.0.4) 
ffi (1.0.10 x86-mingw32) 
firewatir (1.9.4, 1.8.1) 
hoe (2.12.3, 2.8.0) 
json (1.6.1) 
json_pure (1.6.1) 
linecache19 (0.5.12) 
minitest (2.7.0, 2.6.2, 1.6.0) 
nokogiri (1.5.0 x86-mingw32) 
rake (0.9.2.2, 0.9.2, 0.8.7) 
rautomation (0.6.3) 
rdiscount (1.6.8) 
rdoc (3.11, 2.5.8) 
require_all (1.2.0) 
ruby-debug-base19 (0.11.25) 
ruby-debug-ide (0.4.16, 0.4.9) 
ruby_core_source (0.1.5) 
rubyzip (0.9.4) 
s4t-utils (1.0.4) 
selenium-webdriver (2.10.0) 
user-choices (1.1.6.1) 
watir (2.0.4) 
watir-webdriver (0.3.5) 
win32-api (1.4.8 x86-mingw32) 
win32-process (0.6.5) 
windows-api (0.4.0) 
windows-pr (1.2.1) 
xml-simple (1.1.1, 1.1.0) 
+1

0)は、Ruby 1.9.2とWatir 2.0.3で私の仕事をしています。1)どのWatirのバージョンを使用していますか? 2)私たちはもっとエラーが必要です。指定されたファイルの36行目は、そのメソッドに渡されたパラメータで動作しており、その行を呼び出した場所を確認する必要があります。 3)コマンドラインから「Gem List」を実行して、その情報をあなたの質問に追加できますか? –

+0

1. ruby​​ 1.9.2 + watir 2.0.4 – drake10k

+0

追加情報をお寄せいただきありがとうございますが、私が見たいと思っていた実際のエラーの方が多いです。私はすでに行ってcustom_requireファイルを見ていました.. –

答えて

20

* custom_require.rbに

def require path 
if Gem.unresolved_deps.empty? or Gem.loaded_path? path then 
    gem_original_require path 
else 
    spec = Gem.searcher.find_active path 
    unless spec then 
    found_specs = Gem.searcher.find_in_unresolved path 
    unless found_specs.empty? then 
     found_specs = [found_specs.last] 
    else 
     found_specs = Gem.searcher.find_in_unresolved_tree path 
    end 
    found_specs.each do |found_spec| 
     Gem.activate_spec found_spec 
    end 
    end 
    return gem_original_require path #problem 
end 

です。私はFFI v1.0.10を自分自身で使用しようとしていました(インストールに行くとき、そしてwebdriverのコードに起因する)ので、私の箱にv1.0.9のgemがインストールされています。

私は、その宝石をロールバックして失うことはあまりないと思います。それはそれはあなたのために物事を修正するかどうかを確認し、その後

gem install ffi -v 1.0.9 

完了だ後

gem uninstall ffi 

コマンドラインタイプから。

更新 FFIの逸品以降1.1.0過去に更新しており、これらのバージョンは、しかし、宝石がプリコンパイルされていない、ワチールとワチール-webdriverをして​​正常に動作するように見える、それがインストールされたときにコードをコンパイルする必要があります。これは、PC上でRuby開発キット(別名'devkit')をインストールする必要がある場合、rubyinstallerサイトのdownloads pageから入手できます。

devkitをダウンロードしてインストールしてから、新しいコマンドを開きますラインウィンドウと

gem install ffi 

は、FFIの宝石の最新バージョンを取得するために使用

あなたのために動作しません何らかの理由で、あなたはいつもの少し古いバージョンをインストールするには、上記のオリジナル命令を使用できるかどうかFFI gem

+3

右。それが問題を解決しました。ご協力ありがとうございました。 – drake10k

+1

私のために働いた、ありがとう! – holaSenor

+1

ありがとうございます。同じ問題があったので、これを見つけて問題を解決しました。 –

関連する問題