2

私は gem を作成していますがrbappscript、Mac OS X の追加機能にその gem を使用します。

他のプラットフォームのユーザーにその依存関係を強制的にインストールすることはあまり良い考えではありません。また、インストールされるかどうかもわかりません。では、プラットフォームに基づいて依存する gem をカスタマイズすることは可能で、これによって問題が発生することはありませんか?

4

2 に答える 2

4

オプションの場合、依存関係ではありません。そのように宣言しないでください。

rbappscriptドキュメントにメモを追加して、検出された場合は追加の機能が利用可能であることを通知します。

次に、コードで、ライブラリの可用性を確認するだけです。ユーザーがMacで実行している場合でも、特定の理由(たとえば、複数のプラットフォームでの予測可能な動作)のために、この機能をロードしないことを選択できます。

于 2010-12-03T03:07:01.727 に答える
1

依存関係を宣言する場合は、RUBY_PLATFORM定数を使用できます

# only on OSX
if  RUBY_PLATFORM =~ /darwin/i
  gem 'rbappscript'
end

# Only JRUBY
if defined? JRUBY_VERSION
  gem 'something_for_jruby'
end
于 2010-12-03T05:15:07.507 に答える