1

私は、dreamhost のドキュメント(Redmine 1.x 用で、約 1 年前に最後に編集されたもの) とredmine のインストール ドキュメントを可能な限り従おうとしました。

使用してプルダウンしたバージョン 2.0.2 をインストールしようとしています

hg clone --updaterev 2.0-stable https://bitbucket.org/redmine/redmine-all

適切な依存関係をインストールするために、 rvmを使用して Ruby 1.9.3 のローカル バージョンを取得しました。ブラウザーにロードする必要がある最後のステップに到達するまでは、かなりうまくいくように見えました。Passenger から、アプリケーションを起動できないというエラーが表示されました。それは読んだ:

起動中 (つまり、config/environment.rb の評価中) にアプリケーションが終了しました。エラー メッセージが Web サーバーのログ ファイルに書き込まれている可能性があります。アプリケーションが終了した理由を調べるには、Web サーバーのログ ファイル (つまり、(Rails) アプリケーションのログ ファイルではない) を確認してください。それでも問題が解決しない場合は、以下のバックトレースを使用して問題をデバッグしてください。

ログに有用なものは何も見つかりませんでした (エラーが発生した場所を見つけることさえできませんでした。おそらく、間違った場所を探していたのでしょうか? /home/username/logs/my.site.com/http)

バックトレースは依存関係エラーのように見えますが、かなり一般的です。

適切なgemをインストールするために使用したコマンドは次のとおりです:(私はmysqlを使用しています)

$ bundle install --without development test postgresql sqlite rmagick

Web ディレクトリで実行bundle showすると、次のようになります。

~/my.site.com$ bundle show
Gems included by the bundle:
  * actionmailer (3.2.5)
  * actionpack (3.2.5)
  * activemodel (3.2.5)
  * activerecord (3.2.5)
  * activeresource (3.2.5)
  * activesupport (3.2.5)
  * arel (3.0.2)
  * builder (3.0.0)
  * bundler (1.1.4)
  * coderay (1.0.6)
  * erubis (2.7.0)
  * hike (1.2.1)
  * i18n (0.6.0)
  * journey (1.0.4)
  * json (1.7.3)
  * mail (2.4.4)
  * mime-types (1.18)
  * multi_json (1.3.6)
  * mysql2 (0.3.11)
  * net-ldap (0.3.1)
  * polyglot (0.3.3)
  * prototype-rails (3.2.1)
  * rack (1.4.1)
  * rack-cache (1.2)
  * rack-openid (1.3.1)
  * rack-ssl (1.3.2)
  * rack-test (0.6.1)
  * rails (3.2.5)
  * railties (3.2.5)
  * rake (0.9.2.2)
  * rdoc (3.12)
  * ruby-openid (2.1.8)
  * sprockets (2.1.3)
  * thor (0.15.2)
  * tilt (1.3.3)
  * treetop (1.4.10)
  * tzinfo (0.3.33)

ここに私の実行可能なバージョンがあります:

$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ rails -v
Rails 3.2.5
$ bundle -v
Bundler version 1.1.4
$ gem -v
1.8.24

どんな助けでも大歓迎です。

編集:これがバックトレースです。

#   File    Line    Location
0   /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/setup.rb  10  in `exit'
1   /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/setup.rb  10  
2   /usr/lib/ruby/1.8/rubygems/custom_require.rb    36  in `gem_original_require'
3   /usr/lib/ruby/1.8/rubygems/custom_require.rb    36  in `require'
4   /home/username/site.com/config/boot.rb  6   
5   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
6   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
7   /home/username/site.com/config/application.rb   1   
8   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
9   /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
10  /home/username/site.com/config/environment.rb   2   
11  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `gem_original_require'
12  /usr/lib/ruby/1.8/rubygems/custom_require.rb    31  in `require'
13  config.ru   3   
14  /usr/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/builder.rb  46  in `instance_eval'
15  /usr/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/builder.rb  46  in `initialize'
16  config.ru   1   in `new'
17  config.ru
4

1 に答える 1

1

rvm と ruby​​ 1.9 を使用する代わりに、システムの ruby​​ 1.8 を使用してみてください。

Dreamhost ではパッセンジャーを使用しないでください。Dreamhost のパッセンジャーは古い (v2.2.9) ため、古いバージョンのラックのみをロードし、環境変数をランダムにワイプして、サイトがロードされないことがあります。

代わりに FCGI を使用してください。fcgiGemfileに gem を追加する

gem "fcgi"

dispatch.fcgi次の場所にファイルを作成し~/foo.yourdomain.com/public/dispatch.fcgiます。

#!/usr/bin/env ruby

# Set necessary environment variables
ENV['HOME'] ||= `echo ~`.strip
ENV['GEM_HOME'] = File.expand_path('~/.gems')
ENV['GEM_PATH'] = File.expand_path('~/.gems') + ":" + '/usr/lib/ruby/gems/1.8'

#require File.dirname(__FILE__) + '/../config/boot'
#require File.dirname(__FILE__) + '/../config/environment'
require '/home/user/programs/redmine-2.0.3/config/boot'
require '/home/user/programs/redmine-2.0.3/config/environment'

class Rack::PathInfoRewriter
  def initialize(app)
    @app = app
  end

  def call(env)
    env.delete('SCRIPT_NAME')
    parts = env['REQUEST_URI'].split('?')
    env['PATH_INFO'] = parts[0]
    env['QUERY_STRING'] = parts[1].to_s
    @app.call(env)
  end
end

Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(RedmineApp::Application)

アプリを再起動するには、プロセスを手動で強制終了する必要がありdispatch.fcgiます。そうしないと、変更が反映されません

pkill dispatch.fcgi
于 2012-06-19T17:07:34.330 に答える