Pregunta

Configuré Passenger en desarrollo (Mac OS X) y funciona perfectamente.El único problema vino después:ahora tengo una costumbre GEM_HOME ruta y binarios ImageMagick instalados en "/usr/local".Puedo ponerlos en uno de los archivos rc de shell que se obtienen y esto resuelve las variables de entorno para los procesos generados desde la consola;pero ¿qué pasa con el pasajero?La misma aplicación no puede encontrar mis gemas cuando se ejecuta de esta manera.

¿Fue útil?

Solución

Conozco dos soluciones.El primero (documentado aquí) es esencialmente el mismo que el de manveru: configure la variable ENV directamente en su código.

El segundo es crear un contenedor alrededor del intérprete Ruby que usa Passenger y que está documentado. aquí (busque pasajero_con_ruby).Lo esencial es que usted cree (y apunte PassengerRuby en su configuración de Apache) /usr/bin/ruby_with_env, un archivo ejecutable que consta de:

#!/bin/bash
export ENV_VAR=value
/usr/bin/ruby $*

Ambos trabajan;Creo que el primer enfoque es un poco menos pirateado.

Otros consejos

Antes de realizar cualquier requisito (especialmente antes de requerir rubygems), puedes hacer:

ENV['GEM_HOME'] = '/foo'

Esto cambiará la variable de entorno dentro de este proceso.

Descubrí que si tiene privilegios de root en la computadora, puede configurar las variables de entorno necesarias en el archivo "envvars" y apachectl ejecutará este archivo antes de iniciar Apache.

envvars normalmente se encuentra en el mismo directorio donde se encuentra apachectl; en Mac OS X, se encuentra en /usr/sbin.Si no puede encontrarlo, busque en la fuente del script apachectl.

Después de cambiar el archivo envvars, reinicie Apache con "apachectl -k restart".

También me encontré con este problema.Él aparece ese Pasajero no pasa por los valores establecidos usando el SetEnv directiva Apache, lo cual es lamentable.

Quizás sea posible configurar variables de entorno en su entorno.rb o boot.rb (suponiendo que esté hablando de una aplicación Rails;No estoy familiarizado con Rack pero presumiblemente tiene una funcionalidad similar)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top