I’ve frozen all the gems used for testing my rails app into vendor/gems
but some of the dependent gems are loaded from
Do I need to specify each gem in cucumber’s dependency tree in the
environment initializer?
config/environments/.rb
Right now I only use config.gem to specify these:
cucumber, webrat, rspec, and rspec-rails
Here are all the others cucumber depends on:
$ RAILS_ENV=test rake gems
…
- [F] cucumber >= 0.4.2
- [F] term-ansicolor = 1.0.4
- [F] treetop = 1.4.2
- [F] polyglot >= 0.2.5
- [F] polyglot = 0.2.9
- [F] builder = 2.1.2
- [F] diff-lcs = 1.1.2
I = Installed
F = Frozen
R = Framework (loaded before rails starts)
So treetop is there but running:
$ rake features --trace
results in this error:
undefined method `has_terminal?’ for
#Cucumber::Parser::I18n::EnglishParser (NoMethodError)
Presumably because cucumber is using an older gem version of treetop in
my system gem directory instead of
vendor/gems/treetop-1.4.2.
Part of the trace:
(eval):23:in _nt_feature' /Library/Ruby/Gems/1.8/gems/treetop-1.2.5/lib/treetop/runtime/compiled_parser.rb:18:in
send’
/Library/Ruby/Gems/1.8/gems/treetop-1.2.5/lib/treetop/runtime/compiled_parser.rb:18:in
parse' /Users/stephen/dev/test/rites/vendor/gems/cucumber-0.4.2/bin/../lib/cucumber/parser/treetop_ext.rb:28:in
parse_or_fail’