Ruby:没有这样的文件要加载 - EC2

时间:2013-02-17 22:37:44

标签: ruby rubygems amazon-ec2

我正在使用此网站上的脚本:http://dysinger.net/2008/10/13/using-amazon-ec2-metadata-as-a-simple-dns/ 我不得不说我是PHPPerson而且我对ruby几乎一无所知。无论如何我在使用Amazon Linux的ec2实例上使用这个scipt,所以我用yum安装了ruby和rubygems,我做了

gem install amazon-ec2

$ gem list:

*** LOCAL GEMS ***

amazon-ec2 (0.9.17)
rubygems-update (1.8.25)
xml-simple (1.1.2)

看起来不错,但是当我运行脚本时,我得到:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require':   no such file to load -- EC2 (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /usr/local/sbin/hosts:2
from /usr/local/sbin/hosts:2:in `each'
from /usr/local/sbin/hosts:2

...为什么? 我试着想这一个小时,但仍然不知道。

1 个答案:

答案 0 :(得分:0)

博客文章有点过时了。要使用amazon-ec2 gem,您需要require 'AWS',而不是require 'EC2'。这意味着您必须将第二行更改为:

%w(optparse rubygems AWS resolv pp).each {|l| require l}

您还必须更改此行:

EC2::Base.new(options).describe_instances # etc...

AWS::EC2::Base.new(options).describe_instances # etc...