4
我一直在爲這個Sinatra應用程序的暫存服務器爭取兩天。我感到非常沮喪。最新的坑洞是乘客遞給了Ruby的錯誤:乘客上的Sinatra應用程序找不到機架(使用RVM)
沒有這樣的文件加載 - 機架
Ruby中,我們使用的是其nginx.conf文件顯示,並在乘客所在:
passenger_root /usr/local/rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.5; passenger_ruby /usr/local/rvm/rubies/ruby-1.9.2-p180/bin/ruby;
OK,這樣的Ruby 1.9.2我們。
所述虛擬主機的配置包括:
root /var/www/staging-proweb/current/rack/public; passenger_enabled on; rack_env staging;
和rackup文件具有:
require 'rubygems' require 'sinatra' require 'myapp1.rb' run Sinatra::Application
其接着發送我們到myapp1.rb
文件,該文件包括
require 'rubygems' require 'rack' require 'sinatra'
...我假設西納特拉要求是什麼在呼喚機架。
寶石的有:
~$ which ruby /usr/local/rvm/rubies/ruby-1.9.2-p180/bin/ruby ~$ gem list rack *** LOCAL GEMS *** rack (1.2.2) rack-flash (0.1.1)
的錯誤似乎是在RVM目錄中的文件,從第一個三線的堆棧跟蹤判斷:
0 /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb 36 in `require' 1 /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb 36 in `require' 2 /usr/local/rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.5/lib/phusion_passenger/rack/application_spawner.rb 219 in `load_rack_app'
接下來我應該嘗試什麼?我非常難以忍受這一點。
乘客3.0這是'PassengerRuby' – tester 2012-10-18 18:14:51
這是Passenger 3.0.5。在Apache中,你是對的,[它是'PassengerRuby'](http://modrails.com/documentation/Users%20guide%20Apache.html#PassengerRuby)。在Nginx中,[它是'passenger_ruby'](http://modrails.com/documentation/Users%20guide%20Nginx.html#_passenger_ruby_lt_filename_gt)。 – pjmorse 2012-10-18 18:25:29