1

Rails Web サイトの Rails3 チュートリアル 2nd Edition に従っています。ただし、Rails サーバーを使用するのではなく、OS X Lion で apache セットアップを使用したいと考えています。そのため、Passenger と Passenger Preference Pane をインストールしました。問題なくウェルカム ページにアクセスできますが、リンクをクリックしてアプリケーション環境を表示すると、次のエラー メッセージが表示されます。

 Ruby (Rack) application could not be started
These are the possible causes:
There may be a syntax error in the application's code. Please check for such errors and fix them.
A required library may not installed. Please install all libraries that this application requires.
The application may not be properly configured. Please check whether all configuration files are written correctly, fix any incorrect configurations, and restart this application.
A service that the application relies on (such as the database server or the Ferret search engine server) may not have been started. Please start that service.
Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.
Error message:
Could not find coffee-script-source-1.3.1 in any of the sources (Bundler::GemNotFound)
Exception class:
PhusionPassenger::UnknownError
Application root:
/Users/ash/NetBeansProjects/ruby/first_app
Backtrace:
#   File    Line    Location
0   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/spec_set.rb   90  in `materialize'
1   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/spec_set.rb   83  in `map!'
2   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/spec_set.rb   83  in `materialize'
3   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/definition.rb 127 in `specs'
4   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/definition.rb 172 in `specs_for'
5   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/definition.rb 161 in `requested_specs'
6   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/environment.rb    23  in `requested_specs'
7   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb    11  in `setup'
8   /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler.rb    107 in `setup'
9   /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/utils.rb 326 in `prepare_app_process'
10  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb  156 in `initialize_server'
11  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/utils.rb 572 in `report_app_init_status'
12  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb  154 in `initialize_server'
13  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb   204 in `start_synchronously'
14  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb   180 in `start'
15  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/rack/application_spawner.rb  129 in `start'
16  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb 253 in `spawn_rack_application'
17  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb    132 in `lookup_or_add'
18  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb 246 in `spawn_rack_application'
19  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb    82  in `synchronize'
20  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server_collection.rb    79  in `synchronize'
21  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb 244 in `spawn_rack_application'
22  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb 137 in `spawn_application'
23  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/spawn_manager.rb 275 in `handle_spawn_application'
24  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb   357 in `__send__'
25  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb   357 in `server_main_loop'
26  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/lib/phusion_passenger/abstract_server.rb   206 in `start_synchronously'
27  /Library/Ruby/Gems/1.8/gems/passenger-3.0.12/helper-scripts/passenger-spawn-server  99  

サブディレクトリを調べ/Library/Ruby/Gems/1.8/ても、コーヒースクリプトへの参照は見つかりません。ash$ bundle show coffee-script-sourceただし、 gemファイルが次の場所にあることを簡単に示します/Users/ash/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/coffee-script-source-1.3.1

(nb Railsサーバーを使用している場合、この問題はありませんが、それは私が望む解決策ではありません)

完全な Ruby 初心者として、正しいファイルを見つけるために Passenger セットアップをどのように構成すればよいですか?

4

1 に答える 1

4

Phusionはおそらく、rvm gemではなく、システムgemがどこにあるかを知っているだけです。GEM_HOMEどこを見ればよいかを示すために環境変数を設定する必要があります。

apacheを使用している場合は、おそらく.htaccessPhusionを起動するためのファイルがあります。そこで、PassengerEnabled行の前に次のように追加します

SetEnv GEM_HOME '/Users/ash/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems'

もう1つの方法は、Apacheがなくても機能すると思いますが、アプリケーションのconfigディレクトリにsetup_load_paths.rb(存在しない場合)というファイルを作成し、次の行を追加します。

ENV['GEM_HOME']='/Users/ash/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems
于 2012-04-26T15:31:41.313 に答える