0

このウェブサイトのスクリプトを使用しています : http://dysinger.net/2008/10/13/using-amazon-ec2-metadata-as-a-simple-dns/ルビーについてはほとんど何もありません。とにかく、Amazon Linux の ec2 インスタンスでこのスクリプトを使用しているので、yum で ruby​​ と ruby​​gems をインストールしました。

gem install amazon-ec2

$宝石リスト:

*** 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時間理解しようとしましたが、まだわかりません。

4

1 に答える 1

0

ブログ記事は少し古くなっています。amazon-ec2 gem を使用するにはrequire 'AWS'、 ではなく、 する必要がありますrequire 'EC2'。つまり、2 行目を次のように変更する必要があります。

%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...
于 2013-02-17T22:48:52.360 に答える