2011-07-14 92 views
0

我使用ruby-aws gem维护基于ruby的应用程序,它与Mechanical Turk进行交互以创建HIT并在HIT完成后下载数据。Mechanical Turk - 更新到ruby-aws的问题1.3.1

我刚收到一封电子邮件,从亚马逊问我升级的SDK,因为他们现在要求您使用SSL(最后日期将是2011年底)

访问API的更新宝石之前,申请工作完美无缺。

但是,更新的宝石后,我得到了我第二行代码,用于读取错误:

require "rubygems" 
require "ruby-aws" 
... 

我收到以下错误:

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 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>' 

的事情,我已经试过:

  1. 执行完整的宝石更新。 (宝石更新)
  2. 卸载并重新安装红宝石1.8.7与必要的宝石。
  3. 在新的干净的机器上安装Ruby 1.8.7。
  4. 安装Ruby 1.9.2与必要的宝石。

我花了最近两天搜索论坛等,但一直没能弄清楚是哪里出了问题。我不是Ruby中的专家(刚开始时) - 所以可能会有一些非常基本的东西,我可能会错过。

任何帮助将不胜感激。

谢谢。

回答

1

这是ruby-aws gem尝试使用git(在运行时)找出您拥有哪个版本的gem的问题。如果你没有安装git,你会得到那个奇怪的错误信息。

看起来它已经在1.3.2版本的gem中修复了。请参阅this diff

另外,你可以在你的开发机器上安装git,它应该可以在gem版本1.3.1下工作。

+0

感谢您的回答。是。它已在1.3.2中得到修复。然而,自那时起,我们将平台移至了.Net,我觉得MTurk拥有更稳定的库。这一直工作到现在没有重大问题!再次感谢。 – saurabhj

相关问题