2012-05-26 6 views
16

Ho un nuovo progetto Rails e ho deciso di dare Heroku una prova, la distribuzione sembra molto facile cisviluppano su Windows, eseguire unicorno nella produzione su Heroku

sto sviluppando su Windows, in modo da correre unicorno non è una scelta , ma webrick va bene per lo sviluppo

mA, quando è venuto a distribuzione, voglio usare unicorno, e Heroku perfettamente supportano questa

Il problema è: devo elencare unicorno sulla mia Gemfile in ordine per Heroku selezionarlo, ma quando lo faccio ed eseguo il comando bundle (o rails s) sulla mia macchina windows dev, cerca di installare il servizio unicorn er

ho cercato di mettere unicorno nel gruppo di produzione, Gruppo: Produzione fare gioiello 'unicorno' fine ancora il paniere si lamentano e non posso eseguire il server dev

risposta

41

È possibile target piattaforme specifiche nel vostro Gemfile :

platforms :ruby do # linux 
    gem 'unicorn' 
end 

platforms :mswin do 
    # gems specific to windows 
end 

vedere manpages for gemfile per ulteriori informazioni.

+0

Grazie mille, questo ha funzionato per me – Joseph

+0

Ha funzionato anche per me! – Emerson

16

La soluzione alternativa (che il manifesto originale era molto vicino a) è

group :production do 
    gem 'unicorn' 
end 

e quindi utilizzando

bundle install --without production 

sulla vostra macchina Windows.

Heroku sidenote (non testato)

A differenza della risposta accettata, questo non dovrebbe causare Heroku di ignorare il tuo Gemfile.lock

Questo perché Heroku controlla il Gemfile per mswin e mingw al momento di decidere se si tratta di Windows generato o no.

+0

Windows 7: 'gem 'unicorno', gruppo:: produzione' mi dà un errore con l'installazione di' kgio'while 'gem' unicorno ', piattaforme:: ruby' no. – Matthias