2

インターネットにデプロイしようとしているRailsアプリケーションがあります。Amazon EC2クラウドにサーバーをセットアップしましたが、同じマシンに別のサイトをデプロイしたため、機能することがわかっています。

'railsconsole'または'rakedb: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 (LoadError)

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

Rubyがruby19yumパッケージとともにインストールされていたAmazonEC2インスタンスのRails3.2.3とRuby1.9.3p0で同じ問題が発生しました。私の場合、問題は、Bundlerを使用する代わりにgemコマンドを使用してbigdecimalgemを手動でインストールしたことであるように思われました。この問題を解決するために、gemを手動でアンインストールし、行を追加しました

宝石'bigdecimal'

アプリケーションのGemfileに移動し、バンドルインストールを再実行しました。これによりgemが再インストールされ、アプリケーションはそれを正常にロードできました。

Ruby 1.9.3p0を実行していても、gemは〜/ .gem / ruby​​ /1.9.1/にもインストールされます。これは問題ではないようです。

于 2012-04-22T10:22:24.757 に答える