2009-09-17 12 views
5

Ho sviluppato un'applicazione Ruby (un gioco di piccole dimensioni) e vorrei "distribuirlo" ad altre persone.Come distribuire un'applicazione Ruby con le gemme richieste

Tuttavia, non sono sicuro di cosa fare con le gemme richieste. Se invio la mia domanda a qualcuno che ha installato ruby, ma non le gemme richieste, presumo che esploderà. Posso impacchettare le gemme localmente? In tal caso, sarebbe in conflitto se l'altra persona avesse una versione diversa della gemma?

Quindi, qual è il modo intelligente/corretto/buono per farlo?

+0

potresti usare le scarpe per questo. –

risposta

5

Il modo migliore sarebbe probabilmente quello di impacchettare il gioco come una gemma, in questo modo rubygems si occuperà di installare le dipendenze. Here c'è la documentazione che spiega come creare le tue gemme.

+0

Questo è il modo per farlo. Se non l'hai mai fatto prima, il gioielliere [1] dovrebbe essere d'aiuto. Puoi anche specificare le dipendenze della tua gemma nel manifest della tua gemma. [1] - http://github.com/technicalpickles/jeweler – hgmnz

+0

E a proposito, è possibile creare un'attività rake in grado di installare le gemme. Vedi la risposta di Yehuda qui: http://stackoverflow.com/questions/1000749/how-to-quickly-initialize-ruby-project-development-environment/1072299#1072299 – hgmnz

+0

Questo è un buon punto! Non ho pensato di fare il gioco come una gemma. – phss

3

Se si preferisce non comprime il vostro gioco come una gemma, si potrebbe indagare la Bundler, che sarà integrato in Rails 3.

1

Nel vostro environment.rb potete esprimere le vostre dipendenze gemma, ad es.

config.gem "activemerchant", :lib => "active_merchant", :version => "1.4.1" 

Questo non è automatico come le dipendenze della gemma, ma è certamente utilizzabile. L'utente deve sudo rake gems:install per avviare l'app.

0

Se stai cercando un modo per creare OSX .dmg e Windows Installers, c'è un gioiello chiamato releasy che farà tutto questo per te, ed è specificamente adattato per il rilascio di applicazioni GUI scritte in Ruby. Raggruppa Ruby e tutte le dipendenze della gemma in un singolo eseguibile in modo che il tuo utente finale non debba installare nulla in più.

Per gli installatori è necessario accedere a un ambiente Windows/OSX.

Problemi correlati