1

乗客+rvm+apache+レールを機能させるのに苦労しています。ページを開くと、乗客から次のエラーメッセージが表示されます。


Ruby(Rack)アプリケーションを起動できませんでした
考えられる原因は次のとおりです。
アプリケーションのコードに構文エラーがある可能性があります。そのようなエラーをチェックして修正してください。
必要なライブラリがインストールされていない可能性があります。このアプリケーションに必要なすべてのライブラリをインストールしてください。
アプリケーションが正しく構成されていない可能性があります。すべての構成ファイルが正しく書き込まれているかどうかを確認し、誤った構成を修正して、このアプリケーションを再起動してください。
アプリケーションが依存するサービス(データベースサーバーやFerret検索エンジンサーバーなど)が開始されていない可能性があります。そのサービスを開始してください。
エラーに関する詳細情報は、アプリケーションのログファイルに書き込まれている可能性があります。問題を分析するためにそれをチェックしてください。

エラーメッセージ:
初期化されていない定数Capistrano
例外クラス:
NameError
アプリケーションルート:
/var/www/www.pixtur.org/rails/current
バックトレース:
    ファイル行の場所
0 /var/www/www.------------.----/rails/shared/bundle/ruby/1.9.1/gems/rvm-capistrano-1.2.0/lib/ rvm / capistrano.rb 3 in `'
1 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 74 in `require '
2 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 74 in `rescue in block in require'
3 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 62 in `block in require'
4 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 55 in `each '
5 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 55 in `require '
6 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler.rb 119 in `require '

このエラーメッセージが何を伝えようとしているのかわかりません。それがruby-1.9.1を参照しているように見えるのは紛らわしいですが、rvmは1.9.2-p180にマップする必要があります。

私たちの詳細を見つけるためのヘルプ、ポインタ、または次のステップは大歓迎です。

$ GEM_PATH

リモートマシンでsshを使用:$ echo $ GEM_PATH /home/pixtur/.rvm/gems/ruby-1.9.2-p180@pixtur-org:/home/pixtur/.rvm/gems/ruby-1.9.2-p180@グローバル

現在のdeploy.rb

require "bundler/capistrano"

set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system

# Load RVM's capistrano plugin:
require "rvm/capistrano"

set :user, 'pixtur'
set :domain, 'www.--------------.com'
set :applicationdir, "/var/www/www.somedomain.com/rails"

set :scm, 'git'
set :repository,  "gitosis@------------------.git"
#set :git_enable_submodules, 1 # if you have vendored rails
set :branch, 'master'
set :git_shallow_clone, 1
set :scm_verbose, true

set :deploy_to, applicationdir
set :use_sudo, false

#set :scm, :git
role :app, domain
role :web, domain
role :db,  domain, :primary => true

# additional settings
default_run_options[:pty] = true  # Forgo errors when deploying from windows

namespace :deploy do
  task :start, :roles => :app do
    run "touch #{current_release}/tmp/restart.txt"
  end

  task :stop, :roles => :app do
  end

  task :restart, :roles => :app do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end

  desc "Install bundler"
  task :bundle_install do
    begin
      run "bundle install"
    rescue
      gem_install_bundler
    end
  end  

end

.bundle / config

---
BUNDLE_FROZEN: '1'
BUNDLE_PATH: /var/www/www.----------.---/rails/shared/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
BUNDLE_WITHOUT: development:test

.rvmrc

if [[ -s "/Users/pixtur/.rvm/environments/ruby-1.9.2-p180@pixtur-org" ]] ; then
  . "/Users/pixtur/.rvm/environments/ruby-1.9.2-p180@pixtur-org"
else
  rvm --create use  "ruby-1.9.2-p180@pixtur-org"
4

1 に答える 1

0

問題はあなたのGemfileから来ています、

1)開発グループに移動する必要がありますgem 'rvm-capistrano'-この方法では、にインストールされませんshared/bundle

2)万が一gem 'rvm-capistrano', :lib => 'rvm/capistrano'、libの部分は必要ありませんが、実際には壊れている可能性があります。

再度デプロイする前にshared/bundle、サーバー上をクリアする必要があります。

于 2012-05-23T00:08:47.327 に答える