Utilizzo di gemme ruby "personalizzate"

Ciao! È da qualche giorno che ci sto lottando, quindi qualsiasi aiuto è apprezzato!

Sto sviluppando un fork di un plugin che richiede la gemma ruby discordrb. Per qualsiasi motivo, la versione più aggiornata su discordrb | RubyGems.org | your community gem host è la 3.4.0, che ha circa due anni ed è piena di bug.

Fortunatamente, esiste una versione aggiornata del plugin qui GitHub - shardlab/discordrb: Discord API for Ruby, ma non è stato possibile pubblicarla su RubyGems :confused:

Come posso fare per utilizzare la versione di GitHub di questa gemma/dipendenza? Sento di aver provato praticamente di tutto.

1 Mi Piace

Hai visto?: Discord Bot Construction Kit 🤖

È ancora in fase di sviluppo attivo. Parlando di recente con gli sviluppatori, la prossima versione uscirà “quando sarà pronta”. Tra le altre cose, stanno lavorando al supporto dei thread.

Sono la stessa cosa. È solo che il documento della gemma dichiara solo la 3.4.0 come ultima. L’altro è il repository ufficiale. Se fai clic sul link Homepage nel tuo primo link, ti porta al tuo secondo link ;). Non ho idea del perché il documento della gemma non elenchi la 3.4.1.

Puoi fare riferimento a un repository GitHub se proprio devi: https://stackoverflow.com/questions/2823492/install-gem-from-github-branch

1 Mi Piace

L’ho visto! Sono abbastanza sicuro che il nostro plugin sia un fork di un fork di quello. Abbiamo bisogno di una logica specifica nel nostro caso, quindi ha senso sviluppare la nostra versione.

Come apparirebbe nell’impostazione di Discourse? Sento di aver provato ogni metodo per dichiarare la dipendenza tramite GitHub in plugin.rb (controlla la cronologia dei nostri commit :smile:)

image

La nostra build fallisce con ogni sintassi di gem che ho provato che cerca di puntare alla sorgente GitHub. Sono abbastanza sicuro che abbia a che fare con il modo in cui discourse/lib/plugin_gem.rb at main · discourse/discourse · GitHub cerca di trovare il file .gemspec per le gem dei plugin. Saresti in grado di darmi i passaggi per una soluzione alternativa?

1 Mi Piace

Ciao @FerrariFlunker
Ecco un esempio di un plugin ufficiale che utilizza una copia locale della gemma holidays. Penso che tu possa usare uno schema simile nel tuo caso.

Ecco come è incluso.

1 Mi Piace

Una versione locale del repository git (nota: non può essere un sottomodulo, deve essere una vera copia locale) e le righe di inclusione di libdir hanno funzionato perfettamente! Grazie mille per il tuo aiuto, è incredibilmente apprezzato @fzngagan e @merefield :+1:

Spero che questo argomento aiuti altri a trovare questa risposta, è stato un bel viaggio per capirlo :smile:

2 Mi Piace

Puoi anche pubblicare la gemma tramite i pacchetti GitHub. Publishing a Ruby Gem to the GitHub Package Registry | michaelheap.com

3 Mi Piace