0

Capistranoを使用してサーバーにアプリをデプロイしようとしています。deploy:setupとdeploy:checkを実行して成功しました。

deploy:updateのタスクの一部は成功しましたが、deploy:asset:precompileタスクはrubyをクラッシュさせるようです。

エラーの原因を理解しようとしました:問題はRailsAssetPipelinepostgresql_adapterに関連しているようです。

アセットパイプラインについてはあまり詳しくないので、少し迷っています。私が知っている少なくとも、Asset PipelineはjavascriptとCSSスタイルシートに関係しているので、postgresql_adapterがここで何をしているのかわかりませんか?

これらは私の(サーバーとワークステーション)バージョンです:

  • Rails 3.2.8
  • RVM 1.16.17
  • 宝石1.8.24
  • Bundler 1.2.1
  • pg gem 0.14.1

また、commande bundle exec rake Assets:precompileをサーバーで実行しようとしましたが、結果は同じでした。したがって、問題はこのコマンドに関連しています。

これは私が得たエラーの要約です:

  * 2012-11-09 16:54:21 executing `deploy:assets:precompile'
  * executing "cd /var/www/opf/releases/20121109155419 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
    servers: ["192.168.5.200"]
    [192.168.5.200] executing command
 ** [out :: 192.168.5.200] /var/www/opf/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213: [BUG] Segmentation fault
 ** [out :: 192.168.5.200] ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

これは、いずれにせよ私のconfig / deploy.rbです:

require 'bundler/capistrano'
require File.join(File.dirname(__FILE__), 'deploy') + '/capistrano_database'

set :rvm_type, :system

set :rvm_ruby_string, 'ruby-1.9.3-p194@rail3dev20120606'
require 'rvm/capistrano'

set :application, 'opf'
set :deploy_to, '/var/www/opf'
set :rails_env, 'production'
set :user, 'the_user'
set :use_sudo, false

set :group_writable, false
set :scm, :git
set :repository,  'git@github.com:user/opf.git'
set :branch, 'master'

default_run_options[:pty] = true

set :deploy_via, :remote_cache

server '192.168.5.200', :web, :app, :db, :primary => true

# If you are using Passenger mod_rails uncomment this:
namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
end

どこを見ればいいのかわからないので、助けは大歓迎です。ありがとう

4

1 に答える 1

0

私はついに解決策を見つけました!

まず、PhusionPassenger が表示していたエラー メッセージを確認します。

Passenger encountered the following error:
The application spawner server exited unexpectedly: Unexpected end-of-file detected.

Exception class:
    PhusionPassenger::Rack::ApplicationSpawner::Error

ここで説明されているように、通常はそうかもしれませんが、宝石とは何の関係もありませんでした。

ここで説明されている私の解決策を見つけることができます。

于 2013-03-27T10:54:28.023 に答える