It was been a long time I haven't run cucumber in my project. It's running good before but now, when I try to run cucumber features, I have this error:
Using the default profile...
no such file to load -- zip/zip (MissingSourceFile)
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/home/florence/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require'
/home/florence/NetBeansProjects/famicity/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
/home/florence/NetBeansProjects/famicity/app/controllers/albums_controller.rb:1
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/home/florence/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require'
/home/florence/NetBeansProjects/famicity/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require'
/home/florence/NetBeansProjects/famicity/vendor/rails/activesupport/lib/active_support/dependencies.rb:265:in `require_or_load'
/home/florence/NetBeansProjects/famicity/vendor/rails/activesupport/lib/active_support/dependencies.rb:224:in `depend_on'
/home/florence/NetBeansProjects/famicity/vendor/rails/activesupport/lib/active_support/dependencies.rb:136:in `require_dependency'
/home/florence/NetBeansProjects/famicity/vendor/rails/railties/lib/initializer.rb:414:in `load_application_classes'
/home/florence/NetBeansProjects/famicity/vendor/rails/railties/lib/initializer.rb:413:in `each'
/home/florence/NetBeansProjects/famicity/vendor/rails/railties/lib/initializer.rb:413:in `load_application_classes'
/home/florence/NetBeansProjects/famicity/vendor/rails/railties/lib/initializer.rb:411:in `each'
/home/florence/NetBeansProjects/famicity/vendor/rails/railties/lib/initializer.rb:411:in `load_application_classes'
/home/florence/NetBeansProjects/famicity/config/../vendor/rails/railties/lib/initializer.rb:197:in `process'
/home/florence/NetBeansProjects/famicity/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
/home/florence/NetBeansProjects/famicity/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
/home/florence/NetBeansProjects/famicity/config/environment.rb:14
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/home/florence/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require'
/home/florence/NetBeansProjects/famicity/features/support/env.rb:8
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/开发者_JAVA百科rubygems/custom_require.rb:31:in `polyglot_original_require'
/home/florence/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in `require'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/../lib/cucumber/rb_support/rb_language.rb:124:in `load_code_file'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/../lib/cucumber/step_mother.rb:84:in `load_code_file'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/../lib/cucumber/step_mother.rb:76:in `load_code_files'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/../lib/cucumber/step_mother.rb:75:in `each'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/../lib/cucumber/step_mother.rb:75:in `load_code_files'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/../lib/cucumber/cli/main.rb:48:in `execute!'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/../lib/cucumber/cli/main.rb:20:in `execute'
/home/florence/.gem/ruby/1.8/gems/cucumber-0.6.2/bin/cucumber:8
/usr/bin/cucumber:19:in `load'
/usr/bin/cucumber:19
Herewith, my gem list :
actionmailer (2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 1.3.3)
actionpack (2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 1.13.3)
actionwebservice (1.2.3)
activerecord (2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 1.15.3)
activeresource (2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.3.2)
activesupport (2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 1.4.2)
adzap-ar_mailer (2.1.8, 2.1.5)
aws-s3 (0.6.2)
builder (2.1.2)
calendar_date_select (1.16.1, 1.15)
cgi_multipart_eof_fix (2.5.0)
chronic (0.2.3)
color (1.4.1)
contacts (1.2.3)
cucumber (0.6.2)
cucumber-rails (0.2.4)
daemons (1.0.10)
database_cleaner (0.5.0, 0.4.3)
devise (1.0.7)
diff-lcs (1.1.2)
digitalpardoe-rflickr (1.1.2)
eventmachine (0.12.8)
facebooker (1.0.44)
fastercsv (1.5.0)
fastthread (1.0.7)
gdata (1.1.1)
gem_plugin (0.2.3)
geokit (1.5.0)
hoe (2.3.2)
hpricot (0.8.1)
icalendar (1.1.4)
json (1.1.7)
json_pure (1.4.3, 1.2.0)
levenshtein (0.2.0)
lockfile (1.4.3)
macaddr (1.0.0)
memcache-client (1.7.4)
mime-types (1.16)
mocha (0.9.7)
money (2.1.4)
mongrel (1.1.5)
mysql (2.8.1, 2.7)
net-http-persistent (1.2.1)
newrelic_rpm (2.9.9)
nokogiri (1.4.1)
objectify-xml (0.2.3)
packet (0.1.15)
paperclip (2.3.1.1)
paypal (2.0.0)
pdf-writer (1.1.8)
polyglot (0.2.9)
rack (1.0.1, 1.0.0)
rack-test (0.5.3)
rails (2.3.8, 2.3.5, 2.3.4, 2.3.3, 2.3.2)
rake (0.8.7)
rc-rest (4.0)
rest-client (1.0.3)
rflickr (2006.02.01)
rmagick (2.13.1)
rspec (1.3.0)
rspec-rails (1.3.2)
ruby-picasa (0.2.1)
rubyforge (2.0.4, 1.0.4)
rubygems-update (1.3.4)
rvideo-tecnobrat (0.9.4)
selenium-client (1.2.18)
term-ansicolor (1.0.4)
thin (1.2.7, 1.2.2)
transaction-simple (1.4.0)
treetop (1.4.3)
trollop (1.16.2)
ultrasphinx (1.11)
uuid (2.3.1)
validates_timeliness (2.2.2)
viddler (0.2.2)
warden (0.10.7)
webrat (0.7.0)
will_paginate (2.2.2)
xml-magic (0.1.1)
xml-simple (1.0.12)
Any help will be appreciate. Thank's in advance.
Solutions above did not work. Solution for me was to require rubyzip version less than 1.0 i.e.
gem 'rubyzip', '~> 0.9.9'
It seems the latest selenium-webdriver
now requires rubyzip < 1.0.0
so this shouldn't be a problem anymore but posting in case of it happens to someone else.
I found my answer, the problem is about a gem named "rubyzip" that missed in my gem list.
I don't quite understand the source of this error. It seems like a missing dependency of Active Support. Anyway, I was able to get past the error by explicitly adding the gem and requiring it in my Gemfile:
gem 'rubyzip', :require => 'zip/zip'
This is an interface-breaking change when moving rubyzip from 0.9.9
to 1.0.0
. The issue is described here.
As a short-cut back to working, you may be interested in the zip-zip gem.
I had this issue as well when trying to run cucumber after updating selenium-webdriver
.
The newest version of selenium now requires rubyzip ~> 1.0
, which you will need to put in your Gemfile and explicitly require:
gem 'rubyzip', require: 'zip'
When using phusion passenger it seems that the gems have to be installed globally.
When I ran 'gem install ' from within my project directory it showed the gem as being installed but still resulted in the 'no such file to load...' error.
On a hunch I went outside the project directory and did a 'gem list' and the gem installed above was not listed, so I did 'gem install ' outside of the project directory and the error was fixed.
Please not that this was Phusion Passenger implementation not just rails.
精彩评论