Enfrentando um problema ao instalar alguns gems no plugin

@sam

Não consigo instalar algumas gems no plugin, por exemplo, google-protobuf. Essa gem é uma dependência da gem google-cloud-vision.

Aqui está um plugin tentando instalá-la: GitHub - fzngagan/gem-issue · GitHub

Logs
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
Successfully installed google-protobuf-3.13.0-universal-darwin
1 gem installed
You are specifying the gem google-protobuf in /Users/faiz/discenv/discourse/plugins/gem-issue/plugin.rb, however it does not exist!
Looked for: /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3/specifications/google-protobuf-3.13.0.gemspec

O motivo disso é que o nome do arquivo .gemspec não corresponde ao nome do spec_file assumido no código aqui:

Na minha opinião, isso provavelmente ocorreria apenas ao usar gems específicas de plataforma, pois o nome da plataforma é adicionado ao nome da gem quando ela é dependente da plataforma. Isso é descrito aqui: Specification Reference - RubyGems Guides

Não está claro por que você me mencionou neste tópico? Não sei muito sobre a resolução de gemas personalizadas da nossa equipe, desculpe.

Verifiquei o blame e você deve ser quem tem mais commits no arquivo, certo? Fico feliz em ser direcionado na direção certa aqui :slight_smile:

Acho que o @sam pode ajudar. Ele escreveu a importação do gem para plugins.

Claro, obrigado pela dica.

@sam, você teve a chance de dar uma olhada?

@sam, você poderia ajudar o @fzngagan com isso? Estou patrocinando este plugin:

E ele estará disponível para todos. É fundamental manter um fórum livre de imagens que possam causar danos e isso certamente ajudará a evitar penalidades do Google Adsense por conteúdo proibido.

Acho que parece que há um bug aqui. Talvez você possa fazer um PR para tentar corrigir essa peculiaridade?

Aqui está um PR bem simples que corrige o problema.

Tentei encontrar uma maneira mais elaborada de resolver isso, para que os desenvolvedores não precisem se preocupar com a questão da plataforma, mas não encontrei nenhuma. Fico feliz em aprimorar isso se encontrar uma solução melhor.

Além disso, uma dica para os desenvolvedores: durante o desenvolvimento, você pode simplesmente adicionar o gem ao arquivo Gemfile do Discourse e evitar uma loucura. Só se preocupe com tudo isso na hora da implantação.

Obrigado por fazer o merge, @sam.