xengineer’s diary

結果、メモ的な内容になっています。

aws-sdk使っていて謎のエラー(region設定)

はい、ねもとです。

で、SQS使おうとして、謎のエラーにぶつかり続けたのでメモです。

現象:

  1. rake spec は問題ない
  2. rspec spec/controllers/hogehoge_controller.specするとエラーがでる
NoMethodError:
  undefined method `match' for nil:NilClass
  Did you mean?  catch

検索してみると、

github.com

の中で、おじさんが、こんなことを言っていました。

f:id:xengineer:20160830120446p:plain

つまり、region設定ちゃんとされてないと出るよ。

ほむほむ。

dotenv-rails gemが入っているので、.envで、SQS_REGIONを定義して、

プログラム上もそれを読んでるんですけども・・・

binding.pry 挿入して、デバッグしてみたけども・・・

[2] pry(#<QueueManagerService>)> ENV['SQS_REGION']
=> nil

がっつりnil

えー。rake spec するとちゃんと入ってる。

えー。なんでだろう・・・と散々悩むことロダンの如し。

shell再起動したら直りました。

あ、そういうこともあるのか・・・。というか、.env編集したら再起動しないといけないのかな・・・

軽く、ぐーぐる先生にたずねてみたけどそんなことも見つからず。

誰か教えてくださいm(__)m