2012-01-12 22 views
5

A volte, l'applicazione del mio rail presenta un errore (nessun file di questo tipo da caricare - rack) anche se il rack è installato.nessun file da caricare - rack

[Gemfile] gioiello 'cremagliera', '1.2.1'

Se mi aggiorna la pagina, carica bene. Quindi non è il problema della gemma. Cosa potrebbe causare l'errore?

Grazie.

Sam

risposta

4

Penso che se si avvia il sito web a livello locale, questo non accadrà. Quindi quale servizio hai usato? Ho incontrato questo tipo di bug su DreamHost.

Per DreamHost, il problema è che usano versioni diverse (precedenti) di Rack, che non sono compatibili con la versione più recente di Rails. Prova a specificare la versione Rack nel tuo Gemfile (e nella maggior parte dei casi devi anche eseguire il downgrade di Rails). Potrebbe essere d'aiuto

Un altro motivo possibile è che si utilizza RVM sul computer locale, ma per i server, ad esempio, Passenger + Nginx/Apache, RVM potrebbe non funzionare correttamente (in realtà, ottengo sempre errori utilizzando Passenger + RVM). Potrebbe essere utile specificare la tua directory Gem.

+1

Sei molto corretto. Io uso DreamHost VPS. Il mio ambiente di sviluppo è RVM. Un'altra cosa strana è che, anche se faccio "bundle install", la mia app per i binari mi dà "nessun file di questo tipo da caricare - rack". Devo fare "gem install rack -v 1.2.1" manualmente. Potrebbe essere correlato al mio "pacchetto installazione - distribuzione". Non sono sicuro, però. –

+1

Non sto utilizzando Dreamhost VPS, ma DreamHost ha condiviso il server. Penso che VPS sarà molto meglio del server condiviso. Per il server condiviso, ciò che ho fatto è l'aggiunta di queste righe a config.ru: ENV ['GEM_HOME'] = "# {ENV ['HOME']} /. Gems" ENV ['GEM_PATH'] = "# {ENV [ 'GEM_HOME']}:/usr/lib/ruby ​​/ gems/1.8 " richiede 'rubygems' Gem.clear_paths Puoi provare. Specifica il percorso Gem. – Davidsun

+0

Sì. Questo ha risolto il problema. Grazie. –

Problemi correlati