"カスタム" Ruby gemの使用

こんにちは!数日間この問題に悩んでおり、どんな助けでも感謝します!

discordrb ruby gem を必要とするプラグインのフォークを開発しています。何らかの理由で、discordrb | RubyGems.org | your community gem host の最新バージョンは 3.4.0 で、これは約 2 年前のバグのあるバージョンです。

幸いなことに、このプラグインの最新バージョンが GitHub - shardlab/discordrb: Discord API for Ruby に存在しますが、RubyGems に公開されていません :confused:

この gem/依存関係の GitHub バージョンを使用するにはどうすればよいですか?あらゆることを試したように感じています。

「いいね!」 1

ご覧になりましたか?: Discord Bot Construction Kit 🤖

まだ活発に開発中です。最近開発者に話を聞いたところ、次のバージョンは「できたら」リリースされるとのことです。他のことの中でも、スレッディングサポートに取り組んでいます。

これらは同じものです。gemドキュメントが最新として3.4.0しか主張していないだけです。もう一つは公式リポジトリです。最初のリンクのホームページリンクをクリックすると、2番目のリンクに移動します :wink: gemドキュメントに3.4.1が最新としてリストされていない理由は全くわかりません。

どうしても必要な場合は、GitHubリポジトリを参照できます: https://stackoverflow.com/questions/2823492/install-gem-from-github-branch

「いいね!」 1

見ました!私たちのプラグイン our plugin は、それをフォークしたもののフォークであると確信しています。我々のケースでは特定のロジックが必要なので、独自のバージョンを開発するのは理にかなっています。

Discourse の設定では、これはどのようになりますか? plugin.rb を介して GitHub から依存関係を宣言するあらゆる方法を試したように思います(コミット履歴を確認してください :smile:

image

GitHub ソースを指そうとしたすべての gem 構文でビルドが失敗します。これは、discourse/lib/plugin_gem.rb at main · discourse/discourse · GitHub がプラグイン gem の .gemspec ファイルを見つけようとする方法と関係があると思います。回避策の手順を教えていただけますか?

「いいね!」 1

Hi @FerrariFlunker
これは、holidays gem のローカルコピーを使用する公式プラグインの例です。このパターンをケースに似た形で使用できると思います。

これはその組み込み方法です。

「いいね!」 1

ローカルバージョンの git リポジトリ(注: サブモジュールではなく、真のローカルコピーである必要があります)と libdir のインクルード行は完璧に機能しました! ご協力いただき、誠にありがとうございました。@fzngagan および @merefield :+1:

このトピックが他の人がこの答えを見つけるのに役立つことを願っています。これはかなりの道のりでした :smile:

「いいね!」 2

GitHub Packages を介して gem を公開することもできます。 Publishing a Ruby Gem to the GitHub Package Registry | michaelheap.com

「いいね!」 3