2

我有一个我正在尝试部署到互联网上的 Rails 应用程序。我已经在 Amazon EC2 云上设置了一个服务器,我知道它可以工作,因为我已经在同一台机器上部署了另一个站点。

当我尝试通过“rails 控制台”或运行“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 `require':无法加载这样的文件——bigdecimal (加载错误)

我的 Rails 版本是 3.2.2,我使用的是 ruby​​ 1.9.3p0 (2011-10-30) [x86_64-linux]。我的数据库是通过 Mongoid 访问的 MongoDB。我使用Passenger 和Apache 作为服务器。

有没有我错过的任何配置步骤或类似的东西?

PS我知道我不应该使用ec2-user,我还在试验。而且,我从来没有对 RVM 有过好运。

4

1 回答 1

10

我在我的 Amazon EC2 实例上使用 Rails 3.2.3 和 Ruby 1.9.3p0 遇到了同样的问题,其中 Ruby 安装了 ruby​​19 yum 包。就我而言,问题似乎是我使用 gem 命令手动安装了 bigdecimal gem,而不是使用 Bundler。为了解决这个问题,我手动卸载了 gem,添加了这一行

宝石'bigdecimal'

到我的应用程序的 Gemfile,然后重新运行捆绑安装。这重新安装了 gem,然后我的应用程序能够成功加载它。

即使我运行的是 Ruby 1.9.3p0,我的 gem 也安装在 ~/.gem/ruby/1.9.1/ 中。这似乎不是问题。

于 2012-04-22T10:22:24.757 回答