Enfrentando un problema al instalar algunos gems en el plugin

@sam

No puedo instalar algunas gemas en el plugin, por ejemplo google-protobuf. Esta gema es una dependencia de la gema google-cloud-vision.

Aquí hay un plugin que intenta instalarla: GitHub - fzngagan/gem-issue · GitHub

Registros
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
Instalación correcta de google-protobuf-3.13.0-universal-darwin
1 gema instalada
Estás especificando la gema google-protobuf en /Users/faiz/discenv/discourse/plugins/gem-issue/plugin.rb, ¡sin embargo no existe!
Buscado: /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3/specifications/google-protobuf-3.13.0.gemspec

La razón de esto es que el nombre del archivo .gemspec no coincide con el nombre de spec_file asumido en el código aquí:

En mi opinión, esto probablemente solo ocurriría al usar gemas específicas de plataforma, ya que el nombre de la plataforma se agrega al nombre de la gema si depende de la plataforma. Esto se describe aquí: Specification Reference - RubyGems Guides

3 Me gusta

No está claro por qué me mencionaste en este tema. Lo siento, pero no sé mucho sobre nuestra resolución de gemas personalizadas.

1 me gusta

He revisado el historial y supongo que tienes la mayoría de los commits en el archivo, ¿verdad? Estaré encantado de que me orienten en la dirección correcta aquí :slight_smile:

Creo que @sam podría ayudar. Él escribió la importación de gemas para los plugins.

3 Me gusta

Claro, gracias por la pista.

@sam, ¿tuviste oportunidad de echar un vistazo?

@sam ¿podrías ayudar a @fzngagan con esto? Estoy patrocinando este complemento:

Y estará disponible para todos. Es fundamental mantener un foro libre de imágenes que podrían ser dañinas y, sin duda, ayudará a evitar sanciones de Google AdSense por contenido no permitido.

1 me gusta

Supongo que parece que hay un error aquí; ¿quizás podrías hacer un PR para intentar solucionar esta peculiaridad?

2 Me gusta

Aquí hay un PR muy sencillo que soluciona el problema.

Intenté encontrar una manera elegante de abordar esto para que los desarrolladores no tengan que preocuparse por la cuestión de la plataforma, pero no encontré ninguna. Estoy encantado de mejorar esto si encuentro una mejor solución.

Además, un consejo para los desarrolladores: pueden simplemente incluir la gem en el archivo gemfile de Discourse durante el desarrollo y no volverse locos. Solo preocuparse por todo esto al momento del despliegue.

5 Me gusta

Gracias por fusionar, @sam.

3 Me gusta