我有一个我试图部署到互联网上的rails应用程序。我已经在Amazon EC2云上设置了一个服务器,我知道这是有效的,因为我已将另一个站点部署到同一台机器上。
当我尝试通过'rails console'或运行'rake db:seed'或者只是尝试浏览应用程序来运行这个新应用程序时,rails崩溃说它无法找到activiesupport:
/home/ec2-user/.gem/ruby/1.9.1/gems/activesupport-3.2.2/lib/active_support/core_ext/big_decimal/conversions.rb:1:in`requirement':无法加载此类文件 - bigdecimal(LoadError)
My Rails版本是3.2.2,我使用的是ruby 1.9.3p0(2011-10-30)[x86_64-linux]。我的数据库是通过Mongoid访问的MongoDB。我正在使用Passenger和Apache作为服务器。
是否有任何配置步骤或类似的内容我错过了?
P.S。我知道我不应该使用ec2-user,我还在尝试。而且,我从未对RVM好运。
答案 0 :(得分:10)
我在我的Amazon EC2实例上遇到了与Rails 3.2.3和Ruby 1.9.3p0相同的问题,其中Ruby已经安装了ruby19 yum包。在我的例子中,问题似乎是我使用gem命令而不是使用Bundler手动安装了bigdecimal gem。为了解决这个问题,我手动卸载了gem,添加了一行
宝石'bigdecimal'
到我的应用程序的Gemfile,并重新运行bundle install。这重新安装了gem,然后我的应用程序能够成功加载它。
我的宝石也安装在〜/ .gem / ruby / 1.9.1 /中,即使我运行的是Ruby 1.9.3p0。这似乎不是问题。