2011-08-30 16 views
7

Ho un problema, mentre io provo a fare funzionare il mio app:Hai già attivato il rack 1.3.2, ma il tuo Gemfile richiede il rack 1.2.3. Considerare l'utilizzo di fascio exec

You have already activated rack 1.3.2, but your Gemfile requires rack 1.2.3. Consider using bundle exec. 

Ho letto molto su questo tipo di errore, ma non ho trovato alcuna soluzione che ha funzionato per me

  • ho già rimosso il mio Gemfile.lock e ri-run fascio come suggerito here
  • utilizzo già l'ultima versione di passeggeri (3.0.8) - come suggerito here
  • il bundle exec rake trucco non può essere utilizzato nel mio caso

Grazie per anticipo

+1

Puoi approfondire il motivo per cui si puo' t usare 'bundle exec rake' nel tuo caso? – jerhinesmith

+0

Semplicemente perché lo stack degli errori mostra che l'errore è stato generato in'gems/bundler-1.0.18/lib/bundler/runtime.rb', e preferirei non giocare con questo tipo di file – AkyRhO

+0

'Bundle exec' è totalmente sicuro e per quanto ne so è il reco modo più ampio di chiamare rake e altri script. –

risposta

4

Run bundle install --binstubs e si otterrà bin nella vostra radice dell'applicazione con tutti i file eseguibili necessari per app.

Quindi è necessario aggiungere questo dir al percorso e il posto migliore per farlo - .rvmrc se si utilizza RVM.

[ -d './bin' ] && export PATH=`pwd`/bin:$PATH 

o semplicemente eseguire ./bin/{rake|rails|etc} dalla root dell'app.

3

Prova a premettere il comando per eseguire il server con fascio exec, cioè

bundle exec rails server 

O in produzione (se stai usando qualcosa come Unicorn

bundle exec unicorn [options] 
Problemi correlati