在嘗試使用下面的寶石:RESTClient實現拋出異常異常
require 'nokogiri'
require 'restclient'
require 'mechanize'
,我發現了以下錯誤:
C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- ffi_c (LoadError)
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ffi-1.9.10-x86-mingw32/lib/ffi.rb:6:in `rescue in <top (required)>'
from C:/Ruby23/lib/ruby/gems/2.3.0/gems/ffi-1.9.10-x86-mingw32/lib/ffi.rb:3:in `<top (required)>'
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/Ruby23/lib/ruby/gems/2.3.0/gems/rest-client-1.8.0-x86-mingw32/lib/restclient/windows/root_certs.rb:2:in `<top (required)>'
from C:/Ruby23/lib/ruby/gems/2.3.0/gems/rest-client-1.8.0-x86-mingw32/lib/restclient/windows.rb:7:in `require_relative'
from C:/Ruby23/lib/ruby/gems/2.3.0/gems/rest-client-1.8.0-x86-mingw32/lib/restclient/windows.rb:7:in `<top (required)>'
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/Ruby23/lib/ruby/gems/2.3.0/gems/rest-client-1.8.0-x86-mingw32/lib/restclient.rb:16:in `<top (required)>'
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `require'
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
from parse_docs.rb:5:in `<main>'
由於這個名單上的最後一件事是5號線,這是require 'restclient'
我猜它與此有關?不過,我已經嘗試做到以下幾點:
由於
restclient
已被棄用,並已轉移到rest-client
,我嘗試使用rest-client
但不工作,併產生同樣的錯誤。我也試圖
require 'rubygems'
,但是當我運行該程序時,它不會允許我繼續併產生相同的錯誤。所以我完全拿掉了
restclient
,這就是我如何得到restclient
導致問題的想法,因爲如果沒有它,程序可以成功運行。所以我雖然會發生什麼,如果我回滾
ffi
?所以我安裝了運行restclient
所需的ffi
版本。但是,這也沒有幫助。更新了我所有的寶石,還拋出了同樣的錯誤..
下載上
ffi
最新版本,沒有什麼變化,但現在我在我的系統上havea的ffi
新版本,這仍然拋出一個錯誤時正在與restclient
爲什麼restclient
生產ffi
錯誤使用,我以前從來沒有這種事發生在我身上。 rest-client
已棄用?還是有一個簡單的解決方案,我不趕上?我研究過這個,沒有人有這個問題(使用restclient
時),但是有很多人在使用其他寶石時得到這個錯誤。例如,另請參閱here。也許值得一提的是,我正在運行Windows 7.
有沒有人知道這些信息? – 13aal
如果可以,請嘗試使用ruby 2.2。目前,ruby 2.3似乎是[不支持的](https://github.com/ffi/ffi/issues/500)。 – rdupz