2011-01-21 14 views
0

テスト用にBundlerとRSpecを使用して宝石を開発している場合。 Bundler.setupはどこですか? fancy-gemと呼ばれているのは、私の宝石を想定してみましょう、私のディレクトリの設定は、次のようになります。Bundlerのセットアップはどこで行う必要がありますか?

Gemfile 
Gemfile.lock 
lib/ 
    fancy-gem.rb 
Rakefile 
README 
spec/ 
    ... 

は私が私の「空想-gem.rb」でBundler.setupを実行するか、バンドラを使用する可能性のある他の宝石と、この原因の問題がないでしょうか?私がこれをやっていないときには、私が必要とする第三者図書館の正しいバージョンがロードされていることを保証する方法がありません。

私は既に尋ねられました。I need to add Bundler itself to the Gemfileです。答えは「いいえ」でしたが、確かに分かりません.Bundler.setupをどこかで実行すると、Bundlerは実際に私の宝石の依存関係になり、rubygems.orgからダウンロードされたときに私の宝石と共にインストールされます。

答えて

3

私の意見では、あなたはバンドラに頼るべきでもなく、あなたの宝石に使うべきでもない。私がやる方法は、単にあなたのgemの依存関係をlib/fancy-gem.rb(ほとんどすべてのgemにランタイム依存関係が一握りしかないので、あまり面倒ではないはずです)とBundler .setupは、開発ファイル(spec_helper.rbやRakefileなど)でのみ有効です。この方法では、あなたの宝石を使用するアプリケーションに悩まされることなく、あなたの宝石を開発する際に自動依存性管理のすべての利便性を得ることができます。

+0

通常どのようにランタイム依存関係が必要ですか?単に 'require'を使うか、' gem '...'、 '〜> 1.0.0'を使いますか?特定のバージョンを明示的に要求するには '...'が必要ですか? – t6d

関連する問題