我正在使用此网站上的脚本: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
...为什么? 我试着想这一个小时,但仍然不知道。
答案 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...