RoR アプリを立ち上げて Elastic Beanstalk で実行しようとしていますが、rgeo gem を機能させるのに苦労しています。Web サーバーで発生しているエラーは次のとおりです。
I, [2015-09-28T11:26:54.982049 #21789] INFO -- : Completed 500 Internal Server Error in 5ms (ActiveRecord: 2.6ms)
F, [2015-09-28T11:26:54.983523 #21789] FATAL -- :
NoMethodError (undefined method `point' for nil:NilClass):
lib/app/weather_service.rb:61:in `block in get_location'
....
このエラーは、コードがデータベース内の POINT データ型によってサポートされるモデル属性にアクセスするときに発生します。このエラーは通常、依存関係の欠落、つまり、このスレッドで説明されている geos が原因で発生します。そのため、基盤となる EC2 インスタンスに接続し、geos をインストールして、rgeo gem を再インストールしました。これにより、Rails コンソールの問題が解決されました。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ cd /var/app/current
[ec2-user@ip-xxx-xxx-xxx-xxx current]$ rails c
Loading production environment (Rails 4.2.4)
irb(main):001:0> RGeo::Geos.supported?
=> true
ただし、Web サーバーのエラーは解決しませんでした。Elastic Beanstalk 環境を明確に理解していないことは確かです。基盤となる EC2 インスタンスに直接変更を加えても、アプリケーション インスタンスで依存関係を利用できない可能性があります。将来の展開のためにカスタム AMI または ebextensions に依存関係を追加する必要があることは理解していますが、そのプロセスを実行する前に、依存関係が機能していることを確認したかったのです。任意のガイダンスをいただければ幸いです。