Cuando se ejecuta en Phusion pasajero, Bundler no puede encontrar el directorio Rails

Así que este es mi problema. Usé Capistrano para implementar mi aplicación Rails 3 en un servidor Ubuntu, que tiene instalado Phusion Passenger 3. Todo debería haber funcionado normalmente, pero seguí recibiendo este mensaje de error.

No se pudo encontrar Gemfile en / var / www / rails / releases / 20100916074325. (Bundler :: GemfileNotFound)

El directorio en el mensaje de error (que agregué para aclaración) existe en el sistema y también lo hace el Gemfile. Debajo del mensaje de error, el seguimiento de la stack muestra que el error se produce dentro

/usr/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb

Así que entré y agregué resultados para verificar la existencia de los directorios en esa ruta, y cada uno de ellos devolvió el valor falso hasta ‘www’. Estoy incrédulo.

¿Por qué no puede Bundler, corriendo bajo Pasajero, encontrar estas rutas? ¿Qué puedo hacer para resolverlo? (Estoy a punto de renunciar al pasajero en este punto).

Esto es casi definitivamente un problema de permiso. Dicho esto, por favor intente Phusion Passenger git master; hemos agregado controles de permisos agresivos, por lo que ahora debería decirle exactamente qué es incorrecto y qué debe solucionarse en lugar de dejar que las cosas salgan con mensajes de error crípticos como lo que está viendo ahora.

Bundler cree que las rutas no existen debido a problemas de permisos. Específicamente: File.directory?("/a/b/c") devuelve false si / , /a o /a/b no tienen los bits ejecutables correctos para el propietario del proceso actual.