2011-01-28 3 views
18

gemには、gem名とrequireが異なるruby-debug19やsqlite3-rubyのようないくつかの開発依存性があります。これをGemfileで:require => 'foo'オプションを使って処理します。Gemfileで 'gemspec'を使用するにはどうすればいいですか:require => 'foo'

gem "sqlite3-ruby", :require => "sqlite3" 
gem 'ruby-debug19', :require => 'ruby-debug' 

我々はgemspecファイルにこれらのすべてを移動し、Gemfileで「gemspec」ディレクティブを使用しようとしています。

gemspecにこれらのは次のようになります。

s.add_development_dependency "sqlite3-ruby" 
s.add_development_dependency 'ruby-debug19' 

それを提供する方法はあります:s.add_dependencyを使用した場合=>オプションが必要?

答えて

14

いいえ、できません.Gemfileの値を上書きする必要があります。

source "http://rubygems.org" 

gem 'ruby-debug19', :require => 'ruby-debug' 

# Specify your gem's dependencies in .gemspec 
gemspec 

小ヒント:あなたが(実際には同じである)の代わりにsqlite3-rubysqlite3宝石を使用している場合、その後、あなたは異なるが必要と指定する必要はありません。

+1

なぜですか? add_development_dependencyは、次のように同じことを行いますか?required => false? –

+2

私たちは開発依存関係を 'require:false'にしたいのであれば、まずgemspec内のgemを開発依存として指定し、それをGemfileに開発依存として追加し、' require:false'する必要がありますか? – Dennis

関連する問題