2011-01-28 18 views
18

La gema tiene algunas dependencias de desarrollo como ruby-debug19 y sqlite3-ruby donde el nombre de la gema y el requerido son diferentes. Manejamos esto en el Gemfile usando la opción: require => 'foo'.Al usar 'gemspec' en un Gemfile, ¿cómo puedo hacer lo siguiente? Require => 'foo'

p. Ej.

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

estamos tratando de mover todo esto en el fichero de gemspec y usar la directiva '' gemspec en el Gemfile.

en los gemspec éstos se convierten en:

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

¿Hay una manera de establecer que: require => opción cuando utilice s.add_dependency?

Respuesta

14

No, no puede, aún necesita reemplazar el valor en el Gemfile.

source "http://rubygems.org" 

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

# Specify your gem's dependencies in .gemspec 
gemspec 

pequeño consejo: si se utiliza el sqlite3 joya en lugar de sqlite3-ruby (que en realidad es el mismo), entonces no es necesario especificar un diferente requieren.

+1

¿Por qué es eso? ¿Add_development_dependency logra lo mismo que: required => false? –

+2

Así que supongo que si queremos 'require: false' una dependencia de desarrollo, entonces necesitamos especificar la gema en gemspec primero como una dependencia de desarrollo, luego agregarla al Gemfile como una dependencia de desarrollo y' require: false'? – Dennis

Cuestiones relacionadas