Ruby1.9.1p243でPassengerを動かす
ぐぐれば回答そのものがありました。
Ruby1.9.1に含まれるtempfile.rbの四行をコメントアウトして、File.unlink(@tmpname) if File.exist?(@tmpname)を追加というだけでした。
--- tempfile.rb.orig 2009-09-17 01:47:48.000000000 +0900 +++ tempfile.rb 2009-09-17 01:50:51.000000000 +0900 @@ -136,10 +136,11 @@ def unlink # keep this order for thread safeness begin - if File.exist?(@tmpname) - closed? or close - File.unlink(@tmpname) - end + File.unlink(@tmpname) if File.exist?(@tmpname) + # if File.exist?(@tmpname) + # closed? or close + # File.unlink(@tmpname) + # end @@cleanlist.delete(@tmpname) @data = @tmpname = nil ObjectSpace.undefine_finalizer(self)
*追記
どこで見つけたか忘れましたが
uninitialized constant PhusionPassenger::Utils::PseudoIO::StringIOなんて出る時は、
passenger-2.2.5/lib/phusion_passenger/utils.rb
の先頭に
require 'stringio'を加えるとよろしいかと。