2017-01-17 19 views
1

ENV変数に応じて、SentryまたはAirbrakeでオプションとしてログするGemを作成しました。私は私のGemspecでこれらを持っているが、私はどちらか一方のみが必要です。条件付きGemspec依存関係を追加するには

spec.add_runtime_dependency "sentry-raven" 
spec.add_runtime_dependency "airbrake" 

ENV変数に基づいて1エンドユーザーのニーズを含めるのみにする方法はありますか?

答えて

1

両方の依存関係を残しておき、ユーザーが自分のGemfileに依存関係を追加する必要があることをREADMEに追加することをお勧めします。いくつかの宝石が何が定義されているかを確認し、何も見つからない場合にエラーを発生させたり、ユーザーが自分のアプリケーションで使用するツールを設定できるようにしているのを見てきました。

0

いいえ、Gemspecがあなたのコンピューターで実行され、ユーザーのコンピューターでは実行されないという単純な理由から、これは不可能です。実行されて宝石、それをインストールしないでください。

RubyGemsには、例えば次のような洗練された依存システムがありません。 dpkg/APTには次のものがあります:宝石は別の宝石にかかっているか、そうではありません。

関連する問題