Appium bootcamp setup on Windows issue: Cannot run arc

Hi all,

I tried to follow Dave Haeffner’s Appium bootcamp setup on Windows. I ran into a roadblock when installing appium-console, but was finally able to install pry after updating gem to 2.4.4 instead of the latest 2.4.6.

Then, I created the file ‘appium.txt’ and copy it into the folder containing arc and arc.bat. Afterward, I opened a cmd window from this same folder and executed ‘arc’, but got the error (below):

For a better Pry experience on Windows, please use ansicon:
http://adoxa.3eeweb.com/ansicon/
C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require': cannot load such file -- ffi_c (LoadError) from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire’
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/ffi-1.9.6-x86-mingw32/lib/ffi.rb:16:in rescue in <top (required)>' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/ffi-1.9.6-x86-mingw32/lib/ffi.rb:3:in<top (required)>’
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire’
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/childprocess-0.5.5/lib/childprocess/windows.rb:1:in <top (required)>' from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire’
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/childprocess-0.5.5/lib/childprocess.rb:176:in<top (required)>’
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire’
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.45.0/lib/selenium/webdriver.rb:1:in <top (required)>' from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire’
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.45.0/lib/selenium-webdriver.rb:1:in<top (required)>’
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire’
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/appium_lib-6.0.0/lib/appium_lib/driver.rb:3:in <top (required)>' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/appium_lib-6.0.0/lib/appium_lib.rb:12:inrequire_relative’
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/appium_lib-6.0.0/lib/appium_lib.rb:12:in <top (required)>' from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire’
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/appium_console-1.0.3/lib/appium_console.rb:32:inmodule:Console
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/appium_console-1.0.3/lib/appium_console.rb:31:in <module:Appium>' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/appium_console-1.0.3/lib/appium_console.rb:30:in<top (required)>’
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in require' from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:inrequire’
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/appium_console-1.0.3/bin/arc:66:in <top (required)>' from C:/Ruby22/bin/arc:23:inload’
from C:/Ruby22/bin/arc:23:in `’

Can anyone help? Thanks.

After cloning the ruby appium tutorial from github and trying to run the sample test, I think I ran into the same problem. I have boiled it down to the ffi gem.

The one specified is ffi 1.9.3, but for the latest version of Ruby I am using (2.2), I need the latest ffi gem. So I installed ffi 1.9.8 and still have the problem. What is perplexing is that both gem versions are available in my machine.

Thinking that one of these files must specify an ffi version in there, I looked in the Gemfile but the version of ffi was not specified there. So I looked into Gemfile.lock and saw the ffi version specified was 1.9.3. So I changed the version to 1.9.8 and ran it again. Still the same error.

So, does anyone know how I can solve this problem or where else I can specify the ffi version to use? Thanks in advance!

Andrew