Mechanical Turk - Issues on updating to ruby-aws 1.3.1
I maintain a ruby based application using the ruby-aws gem which interfaces with Mechanical Turk to create HITs and download the data after HITs are done.
I just got an email from Amazon asking me to upgrade the SDKs as they now require you to access the APIs using SSL (last date will be end of 2011)
Before updating the gem, the application was working flawlessly.
However, after updating the gem, I get an error on the second line of my code which reads:
require "rubygems"
require "ruby-aws"
...
I get the following error:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-aws-1.3.1/lib/ruby-aws/version.rb:8:in ``': No su
ch file or directory - git describe --tags --always --dirty (Errno::ENOENT)
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-aws-1.3.1/lib/ruby-aws/version.rb:8:
in `<module:RubyAWS>'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-aws-1.3.1/lib/ruby-aws/version.rb:4:
in `<top (required)>'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require
'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require
'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/ruby-aws-1.3.1/lib/ruby-aws.rb:4:in `<top
(required)>'
from开发者_StackOverflow C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require
'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue
in require'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require
'
from create_hit.rb:2:in `<main>'
Things that I have tried:
- Performing a complete gems update. (gems update)
- Uninstalling and reinstalling ruby 1.8.7 with the requisite gems.
- Installing Ruby 1.8.7 on a new, clean machine.
- Installing Ruby 1.9.2 with the requisite gems.
I have spent the last two days searching forums, etc. but haven't been able to figure out what is going wrong. I am not really an expert in Ruby (just beginning to start out)- so there might be something very fundamental that I might be missing.
Any help would be greatly appreciated.
Thank you.
This was a problem where the ruby-aws gem tries to use git (at runtime) to figure out what version of the gem you have. If you don't have git installed, you will get that funky error message.
Looks like it has been fixed in version 1.3.2 of the gem. See this diff.
Alternatively, you could install git on your dev machine and it should work even with version 1.3.1 of the gem.
精彩评论