Problema durante l'installazione di alcune gemme nel plugin

@sam

Non riesco a installare alcune gemme nel plugin, ad esempio google-protobuf. Questa gemma è una dipendenza per la gemma google-cloud-vision.

Ecco un plugin che tenta di installarla: GitHub - fzngagan/gem-issue · GitHub

Log
gem install google-protobuf -v 3.13.0 -i /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3 --no-document --ignore-dependencies --no-user-install
Installazione riuscita di google-protobuf-3.13.0-universal-darwin
1 gemma installata
Stai specificando la gemma google-protobuf in /Users/faiz/discenv/discourse/plugins/gem-issue/plugin.rb, tuttavia non esiste!
Cercato: /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3/specifications/google-protobuf-3.13.0.gemspec

Il motivo è che il nome del file .gemspec non corrisponde al nome del spec_file assunto nel codice qui:

A mio avviso, questo problema si verificherà probabilmente solo quando si utilizzano gemme specifiche per piattaforma, poiché il nome della piattaforma viene aggiunto al nome della gemma se questa dipende dalla piattaforma. Questo è descritto qui: Specification Reference - RubyGems Guides

Non è chiaro perché tu mi abbia menzionato in questo argomento? Non so molto sulla risoluzione dei nostri gem personalizzati, scusa.

Ho controllato la cronologia delle modifiche e immagino che tu abbia il maggior numero di commit sul file, giusto? Sono felice di essere indirizzato nella direzione giusta qui :slight_smile:

Credo che @sam possa essere in grado di aiutare. Ha scritto l’importazione delle gem per i plugin.

Certo, grazie per il suggerimento.

@sam hai avuto modo di dare un’occhiata?

@sam, potresti aiutare @fzngagan su questo? Sto sponsorizzando questo plugin:

Sarà disponibile per tutti. È fondamentale mantenere un forum libero da immagini che potrebbero potenzialmente danneggiare e che certamente aiuteranno a evitare sanzioni da parte di Google AdSense per contenuti non consentiti.

Immagino che sembri esserci un bug qui; forse potresti aprire una PR per provare a risolvere questa stranezza?

Ecco una semplice PR che risolve il problema.

Ho cercato un modo elegante per affrontare la questione in modo che gli sviluppatori non dovessero preoccuparsi della piattaforma, ma non ho trovato nulla. Sono disponibile a migliorare questa soluzione se ne trovo una migliore.

Inoltre, un consiglio per gli sviluppatori: durante lo sviluppo potete semplicemente aggiungere il gem al file gemfile di Discourse senza impazzire. Dovete preoccuparvi di tutto questo solo in fase di deployment.

Grazie per aver unito @sam.