7

非常に基本的なRails3.2.3トライアルサイトをRVMRuby1.9.3-p194を使用して「本番」サーバー(実際には本番ではありません!)にデプロイしたところ、ここにリストされているコマンドのうち、次のことが当てはまります。

╔══════════════════════════════════════╤═══╗
║ command issued                       │OK?║
╟──────────────────────────────────────┼───╢
║ bundle exec rails console            │ N ║
║ bundle exec rails console production │ Y ║
║ bundle exec rails server             │ Y ║
║ bundle exec rails server production  │ N ║
╚══════════════════════════════════════╧═══╝

私の最初の質問:これは予想されますか?(右の列のパターンはNYNYである必要があると思いました。)

詳細:sqlite3gemがサーバーにインストールされていないbundle exec rails consoleという理解できる理由で失敗します。ただし、はるかに理解しにくいトレースで失敗します。bundle exec rails server production

$ bundle exec rails server production
Exiting
/home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler.rb:63:in `require': cannot load such file -- rack/handler/production (LoadError)
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler.rb:63:in `try_require'
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler.rb:16:in `get'
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:269:in `server'
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:59:in `start'
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>'
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap'
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

私の2番目の質問:このエラーをトラブルシューティングする最善の方法は?

4

2 に答える 2

18

本番環境を使用してサーバーを本番モードで起動しませんか?

rails server -e production

Railsコンソール環境とRailsサーバー-e環境の構文の違いは少しPITAです

于 2012-05-30T14:22:37.287 に答える
3

コンソールの場合は環境を指定し、サーバーの場合は他の何か(おそらくwebrick / ...を使用するサーバー)を指定します。

したがって、環境を指定する場合は、次のようにします。

ENV=production rails server
于 2012-05-30T14:06:57.223 に答える