2010-04-03 10 views
8

Tengo una aplicación Rails 3 lista para organizar.No existe ese archivo para cargar el error del paquete para Rails 3

Aún no tengo configurado un servidor VPS. Como estaba planeando tener todo en host compartido durante los primeros meses.

Problema:

cd miaplicacion cheque paquete resultado:

The Gemfile's dependencies are satisfied 

error de pasajeros:

Error message: 
    no such file to load -- bundler 
Exception class: 
    LoadError 

Lo frustrante de los ordenadores compartidos es que tengo que añadir estas líneas en config .ru:

ENV['GEM_HOME'] = '/home/username/.gems' 
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' 

Todavía no hubo suerte. No aparece el mismo error al cargar el paquete.

¿Alguien ha conseguido esto funcionando? Rails 3, Debian, host compartido (dreamhost)?

Podría seguir adelante y registrarme en Slicehost/Fivebean, pero antes de hacerlo, me gustaría saber por qué aparece ese error.

Gracias.

+0

Pruebe chmod a + rx/usr/local/rvm/-R – James

Respuesta

9

La solución está aquí http://rvm.beginrescueend.com/integration/passenger/. Debe apuntar su servidor HTTP al contenedor passenger_ruby wrapper en lugar de bin/ruby ​​.

E.g.RVM para & Apache debería ser algo así:

PassengerRuby /Users/username/.rvm/bin/passenger_ruby 
+2

Entonces, ¿por qué dice en esa página? Tenga en cuenta que para Passenger 3 ahora use el script de ruby ​​wrapper directamente sin necesidad de usar el contenedor passenger_ruby. "? – configurator

+3

¿A dónde va esta cuerda? –

+0

¿Requiere esta solución acceso a la raíz? –

3

Rails alojado en hosts compartidos ya es un campo minado, pero incluir Rails 3 en toda su bondad de prelanzamiento, incluido Bundler reinventando el flujo de trabajo de rubygems, es una receta para arrancarte el pelo.

Tengo algunos sitios de Rails en Dreamhost, pero solo las versiones que admiten oficialmente, de lo contrario, simplemente no vale la pena el tiempo. Puede obtener un VPS ahora por casi tan barato como Dreamhost, y ahorrará horas y horas de su propio tiempo.

Si usted está buscando una respuesta fácil, sugeriría la votación hasta el siguiente y cruzar los dedos:

Rails 3 on dreamhost?

+0

AH sí ... Fivebean. Espero implementar pronto Dreamhost es una mierda – kgpdeveloper

4

pasajeros no lee las variables de entorno de config.ru hasta después ha cargado. Sin su backtrace no puedo ser positivo, pero sospecho que todo funcionará si acaba de ejecutar bundle lock. Si aún tiene problemas después de eso, hay una lista de información para la resolución de problemas en la parte inferior del archivo README que necesito saber exactamente qué está pasando.

+0

bloqueo de paquete resolvió mi problema. ¡Gracias un montón! – Magnar

0

Encontré un blog al azar. Tenía algunas líneas que entraron en 'config.ru', que parecían funcionar para mí.

ENV['GEM_HOME'] = '/home/farleyknight/.gems' 
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' 
require 'rubygems' 
Gem.clear_paths 

tal vez funcione para usted ..

+1

no funcionó aquí. He votado a favor por un error tipográfico. La línea ENV ['GEM_PATH'] debería decir así: ENV ['GEM_PATH'] = "# {ENV ['GEM_HOME']}:/usr/lib/ruby ​​/ gems/1.8" –

+0

$: << "/ usr/lib/ruby ​​/ gems/1.8/gems/bundler-0.9.26/lib ", por otro lado, funcionó para mí: S –

2

Para mí, esto resultó ser un problema con la directiva passenger_ruby dicho pasajero-instalación-nginx-módulo escupe al final de la instalación. Faltaba el nombre gemset en el camino al rubí.

Esto funciona: (la solución)

passenger_ruby /Users/dzello/.rvm/wrappers/[email protected]/ruby; 

Esto no: (lo pasajero-instalación-nginx-módulo escupe)

passenger_ruby /Users/dzello/.rvm/rubies/ruby-1.9.2-p0/bin/ruby 

Nota la línea passenger_ruby no incluye el correcto ruta de la gema - falta la porción de @ rails3 (rails3 es el nombre del gemset), a pesar de que fue correcta para la raíz del pasajero.

+1

Además, el rubí está en/envoltorios ahora, no/rubíes ... ese me sorprendió – bodacious

+0

El hecho de que esto tenía que hacerse y de que el guión hiciera saltar la directiva incorrecta es un poco irritante. –

0

Tuve este problema con vps plus rvm, rails3, capistrano y nginx.

Passenger fue instalado por root pero el sitio web fue instalado por el usuario zorro. Nginx (root) se configuró para ejecutar la aplicación como zorro. Cuando se inició sesión como zorro, se instaló Bundler pero se ejecutó el empaquetador de la lista de gemas porque la raíz no mostraba gema.

El inicio del pasajero daría el error que faltaba el paquete. La única solución para esto fue instalar el paquete como root AND fox. Supongo que los cheques de pasajeros para el paquete no están bajo el usuario fox, como está configurado en nginx.

Cuestiones relacionadas