2013年5月30日

EC2でaws-sdk-rubyを使う為のメモ

Java屋さんだったので、Rubyをみたことすらなかったのですが、ちょっとaws-sdk-rubyで試してみる必要があったのでEC2から作ろうとしました。

[http://aws.amazon.com/jp/sdkforruby/:title=AWS SDKのドキュメント]にしたがって、インストールです。

Ruby 用 AWS SDK には、Ruby1.8.7 以降が必要です。ゲム(Gem)をインストールするには、単に以下を入力します:
gem install aws-sdk

はい。動きません。
ってか、gemすらはいってないのですよ、EC2の初期状態は。
そんなわけでメモです。

Google先生に聞く

先人の知恵(http://kazuki-u.hatenablog.com/entry/2013/02/26/224832)をお借りして、必要そうなものをインストールします。
$ sudo yum -y update
$ sudo yum -y groupinstall "Development tools"
$ sudo yum -y install libxml2-devel libxslt-devel libffi-devel
$ sudo yum -y install git rubygems ruby-devel
$ sudo gem install bundler

これで準備は整いました。
ようやくSDKのインストールです。
$ sudo gem install aws-sdk
今度は成功するはずです。

実行時にエラー

とりあえず実行してみると。。。
$ ruby -r rubygems -r aws-sdk -e 'AWS::S3.new'
ruby: no such file to load -- aws-sdk (LoadError)
エラーとなってしまいます。

要するにaws-sdkがみつからないってことですが。。。Rubyは初心者に優しくありません。。。
JavaでいうCLASSPATHの設定がちゃんとできていないのだと思いますが、AWSのドキュメントはウソツキです。

$ ruby -e 'puts $:'
この実行結果にawsなんてでてこないのでやっぱり読みこめて無いだけなのでしょう。

そんなわけで、.bashrcに以下を追加します。(パスはls -Rで探しました)
RUBYLIB=/usr/lib/ruby/gems/1.8/gems/aws-sdk-1.8.3.1/lib/
export RUBYLIB

これでOK!

0 コメント:

コメントを投稿