¿Cómo puede determinar qué rubygem se está utilizando en respuesta a una declaración "require"? gema que no parece ayudar.Determinar qué rubygem está usando
Antecedentes: para el proyecto hornsby-herbarium-parser, estoy usando el gema roo.
Utilicé la gema github hmcgowan-roo, ya que en ese momento era más reciente que la versión rubyforge de roo. Intenté probar el código en runcoderun, y falló porque no tiene ninguna versión de roo. En este momento, las nuevas versiones de roo estaban disponibles tanto en github como en rubyforge.
Decidí que puedo ver si la última versión de rubyforge funciona para mi código, ya que supongo que rubyforge es más oficial, autoritario y estable que las github forks. Una vez que estoy seguro de que la versión de rubyforge funciona con mi código, le preguntaré a runcoderun muy bien si pueden instalarlo en su sistema.
Sudo gem instaló roo, y mis gemas ahora incluyen "hmcgowan-roo (1.3.5)" y "roo (1.3.6)", y todavía se ejecutan las pruebas de hornsby-herbarium-parser. Sé que como la versión de rubyforge se instaló más recientemente, debe ser para ser el que se utiliza en las pruebas, pero quiero poder verificar esto.
gem which roo
no ayudó, porque me dio
(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb
que supongo es la respuesta equivocada.
actualización: he usado tanto
$:.detect {|dir| dir =~ /roo/}
y
puts Roo::VERSION::STRING
ambos están de acuerdo con la gema, que, diciendo que todavía estoy usando hmcgowan-roo-1.3.5.
¿Quieres CLI, o desde dentro de Ruby, ambos están bien es eso? –
Similar pero para Rails (esto supone Bundler): http://stackoverflow.com/questions/1621405/how-to-tell-which-version-of-a-gem-a-rails-app-isusing –