Domanda

È possibile impostare in modo condizionale una dipendenza da un gem al momento dell'installazione?Ecco la mia situazione che, si spera, chiarirà la questione.

C'è una gemma che sostengo che dipende dalla gemma json.Tuttavia, utilizzo spesso jruby che ha un port della gemma json chiamata json-jruby.Per risolvere questo problema devo creare due gemme separate per ciascuna dipendenza.Mi piacerebbe creare un gioiello che dica che dipende da json OR json-jruby, oppure controlla al momento dell'installazione e utilizza la giusta dipendenza.

Qualcuno ha una buona soluzione a questo?

È stato utile?

Soluzione

Hmm,

Credo che si possano codificare dipendenze multiple perché ho notato gemme che sembravano fare questo. Ma consiglierei di non farlo. Non importa quanto sia semplice il codice che stai inserendo qui, se consideri che l'utente caricherà una gemma che dipende da un'altra che dipende da un'altra, anche un piccolo difetto nella logica di una parte di codice o di un'altra può rendere il tutto la dipendenza forma un incubo.

Quindi, lascerei il tuo kludge così com'è. Inoltre, ti suggerirei di avere un tarball che gli utenti possono anche scaricare. Ho dovuto estrarre manualmente il codice all'interno delle gemme il cui codice di configurazione non mi avrebbe permesso di installarle.

Altri suggerimenti

guarda un po' di tutorial qui: http://wiki.github.com/rdp/ruby%5Ftutorials%5Fcore/gem

mostra come installare diverse versioni delle dipendenze a seconda della versione di Ruby utilizzata dall'installatore.

(risposta breve: non è così facile come dovrebbe essere)

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