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

3 curtidas

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.

1 curtida

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.

3 curtidas

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.

1 curtida

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

2 curtidas

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.

5 curtidas

Obrigado por fazer o merge, @sam.

3 curtidas