プラグインのいくつかのgemをインストールする際に問題が発生しています

@sam

プラグイン内で一部の gem(例:google-protobuf)をインストールできません。この gem は google-cloud-vision gem の依存関係です。

インストールを試みたプラグインは以下です:GitHub - fzngagan/gem-issue · GitHub

ログ
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

この問題の原因は、.gemspec ファイルの名前が、コード内で想定されている spec_file の名前と一致していないことです。

私の見解では、これはプラットフォーム固有の gem を使用した場合にのみ発生する可能性があります。プラットフォーム依存の gem の場合、プラットフォーム名が gem 名に追加されるためです。これは以下で説明されています:Specification Reference - RubyGems Guides

「いいね!」 3

なぜこのトピックで私をメンションしたのか不明です。カスタムジェムの解決については詳しくないので、申し訳ありません。

「いいね!」 1

ブレイムを確認しましたが、このファイルへのコミット数が一番多いのはあなたですね?正しい方向へ導いていただければ嬉しいです :slight_smile:

@sam さんがお手伝いできるかもしれません。彼はプラグイン向けの gem 取り込み機能を実装しました。

「いいね!」 3

はい、情報ありがとうございます。

@sam、ご覧いただく機会がありましたか?

@sam、この件で @fzngagan をお手伝いいただけますか?私はこのプラグンをスポンサーしています。

これは全員が利用可能になります。潜在的に有害な画像からフォーラムを守り続けることは不可欠であり、Google AdSense から禁止されたコンテンツによるストライクを受けないようにする助けになります。

「いいね!」 1

ここにはバグがあるようです。この不具合を修正するためにプルリクエストを送ってみてはいかがでしょうか?

「いいね!」 2

この問題に対処する非常にシンプルな PR です。

開発者がプラットフォームに関することを気にしなくて済むような、より凝った方法を探してみましたが、見つけることはできませんでした。もしより良い解決策が見つかったら、改善する用意があります。

また、開発者へのヒントですが、開発中は単に discourse の gemfile に gem を追加するだけで、混乱せずに済みます。これらすべてを気にするのはデプロイ時のみです。

「いいね!」 5

@sam さん、マージありがとうございます。

「いいね!」 3