Domanda

Ho impostato Passenger in fase di sviluppo (Mac OS X) e funziona perfettamente.L'unico problema è arrivato dopo:ora ho un'abitudine GEM_HOME path e i binari ImageMagick installati in "/usr/local".Posso inserirli in uno dei file rc della shell che vengono originati e questo risolve le variabili di ambiente per i processi generati dalla console;ma per quanto riguarda Passeggero?La stessa applicazione non riesce a trovare le mie gemme quando viene eseguita in questo modo.

È stato utile?

Soluzione

Conosco due soluzioni.Il primo (documentato Qui) è essenzialmente uguale a quello di manveru: imposta la variabile ENV direttamente nel tuo codice.

Il secondo è creare un wrapper attorno all'interprete Ruby utilizzato da Passenger e documentato Qui (cerca Passenger_with_Ruby).L'essenza è che crei (e punti PassengerRuby nella configurazione di Apache a) /usr/bin/ruby_with_env, un file eseguibile composto da:

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

Entrambi funzionano;il primo approccio è un po' meno hacker, credo.

Altri suggerimenti

Prima di eseguire qualsiasi richiesta (specialmente prima di richiedere le gemme di rubino) puoi fare:

ENV['GEM_HOME'] = '/foo'

Ciò cambierà la variabile di ambiente all'interno di questo processo.

Ho scoperto che se disponi dei privilegi di root sul computer puoi impostare le variabili di ambiente necessarie nel file "envvars" e apachectl eseguirà questo file prima di avviare Apache.

envvars in genere si trova nella stessa directory in cui si trova apachectl: su Mac OS X si trova in /usr/sbin.Se non riesci a trovarlo, cerca nel sorgente dello script apachectl.

Dopo aver modificato il file envvars, riavviare Apache con "apachectl -k restart".

Anch'io ho riscontrato questo problema.Esso appare quel passeggero non supera i valori impostati utilizzando il file SetEnv direttiva Apache - il che è un peccato.

Forse potrebbe essere possibile impostare variabili di ambiente nel tuo ambiente.rb o boot.rb (supponendo che tu stia parlando di un'app Rails;Non ho familiarità con Rack ma presumibilmente ha funzionalità simili)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top