ENV変数に応じて、SentryまたはAirbrakeでオプションとしてログするGemを作成しました。私は私のGemspecでこれらを持っているが、私はどちらか一方のみが必要です。条件付きGemspec依存関係を追加するには
spec.add_runtime_dependency "sentry-raven"
spec.add_runtime_dependency "airbrake"
ENV変数に基づいて1エンドユーザーのニーズを含めるのみにする方法はありますか?
ENV変数に応じて、SentryまたはAirbrakeでオプションとしてログするGemを作成しました。私は私のGemspecでこれらを持っているが、私はどちらか一方のみが必要です。条件付きGemspec依存関係を追加するには
spec.add_runtime_dependency "sentry-raven"
spec.add_runtime_dependency "airbrake"
ENV変数に基づいて1エンドユーザーのニーズを含めるのみにする方法はありますか?
両方の依存関係を残しておき、ユーザーが自分のGemfile
に依存関係を追加する必要があることをREADMEに追加することをお勧めします。いくつかの宝石が何が定義されているかを確認し、何も見つからない場合にエラーを発生させたり、ユーザーが自分のアプリケーションで使用するツールを設定できるようにしているのを見てきました。
いいえ、Gemspecがあなたのコンピューターで実行され、ユーザーのコンピューターでは実行されないという単純な理由から、これは不可能です。実行されて宝石、それをインストールしないでください。
RubyGemsには、例えば次のような洗練された依存システムがありません。 dpkg
/APTには次のものがあります:宝石は別の宝石にかかっているか、そうではありません。