Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

zip/zip (LoadError) - Breaking guard or rails 4.0

I just added gem 'carrierwave' and it's breaking guard rails 4.0. I added rubyzip gem but it won't remedy the issue. I cannot run any more tests, and i can't figure out how to solve this issue.

guard --debug

19:11:40 - DEBUG - Command execution: growlnotify --version
19:11:40 - DEBUG - Command execution: emacsclient --eval '1' 2> /dev/null || echo 'N/A'
19:11:40 - INFO - Guard is using TerminalTitle to send notifications.
19:11:40 - DEBUG - Command execution: hash stty
19:11:40 - DEBUG - Guard starts all plugins
19:11:40 - DEBUG - Hook :start_begin executed for Guard::Spork
19:11:40 - DEBUG - Command execution: ps aux | grep -v guard | awk '/spork/&&!/awk/{print $2;}'
19:11:40 - DEBUG - Killing Spork servers with PID: 
19:11:40 - INFO - Starting Spork for RSpec
19:11:40 - DEBUG - guard-spork command execution: ["exec", "spork", "-p", "8989"]
Using RSpec, Rails
Preloading Rails environment
cannot load such file -- zip/zip (LoadError)
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in `require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in `<top (required)>'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common.rb:9:in `require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common.rb:9:in `<top (required)>'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver.rb:29:in `require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver.rb:29:in `<top (required)>'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium-webdriver.rb:1:in `require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/selenium-webdriver-2.0.0/lib/selenium-webdriver.rb:1:in `<top (required)>'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
/Volumes/Khaya/pumula/config/application.rb:7:in `<top (required)>'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/bundler/gems/spork-rails-3224f84d8c31/lib/spork/app_framework/rails.rb:49:in `require'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/bundler/gems/spork-rails-3224f84d8c31/lib/spork/app_framework/rails.rb:49:in `preload_rails'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/bundler/gems/spork-rails-3224f84d8c31/lib/spork/app_framework/rails.rb:7:in `preload'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/spork-1.0.0rc3/lib/spork/test_framework.rb:134:in `block in preload'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/spork-1.0.0rc3/lib/spork.rb:62:in `exec_prefork'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/spork-1.0.0rc3/lib/spork/test_framework.rb:120:in `preload'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/spork-1.0.0rc3/lib/spork/run_strategy/forking.rb:25:in `preload'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/spork-1.0.0rc3/lib/spork/runner.rb:74:in `run'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/spork-1.0.0rc3/lib/spork/runner.rb:10:in `run'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/gems/spork-1.0.0rc3/bin/spork:10:in `<top (required)>'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/bin/spork:23:in `load'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/bin/spork:23:in `<main>'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `eval'
/Users/vezu/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `<main>'

gemfile

source 'https://rubygems.org'
gem 'rails', '4.0.0'
gem 'pg'
group :development, :test do
  gem 'rspec-rails', '2.13.1'
  gem 'guard-rspec', '2.5.0'
  gem 'spork-rails', github: 'sporkrb/spork-rails'
  gem 'guard-spork', '1.5.0'
  gem 'childprocess', '0.3.9'
  gem 'factory_girl_rails', '>= 4.2.0'
end
group :test do
  gem 'selenium-webdriver', '2.0.0'
  gem 'capybara', '2.1.0'
  gem 'growl', '1.0.3'
end
group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'meta_request'
end
gem 'sass-rails', '~> 4.0.0'
gem 'anjlab-bootstrap-rails', '>= 3.0.0.0', :require => 'bootstrap-rails'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'cocoon', :git => 'git://github.com/nathanvda/cocoon'
gem 'simple_form', '~> 3.0.0.rc'
gem 'country_select'
gem 'friendly_id', '5.0.0.beta4' # Note: You MUST use 5.0.0 or greater for Rails 4.0+   
gem 'figaro'
gem 'devise', github: 'plataformatec/devise', branch: 'rails4'
gem 'rolify'
gem 'cancan'
gem 'stripe'
gem 'stripe_event'
gem 'carrierwave'
gem 'rmagick', '2.13.2'
gem 'fog'
group :production do
  gem 'rails_12factor', '0.0.2'
end
gem 'turbolinks'

logo_uploader.rb

**# encoding: utf-8

class LogoUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  version :thumb do
    process :resize_to_fill => [200,200]
  end

  def cache_dir
    "#{Rails.root}/tmp/uploads"
  end

end**
like image 730
Benjamin Avatar asked Aug 30 '13 06:08

Benjamin


3 Answers

I needed to update gem 'selenium-webdriver', '2.0.0'to gem 'selenium-webdriver', '~> 2.35.1' and the problem all goes away.

Similar question ruby on rails tutorial section 3.2 rspec testing error

like image 125
Benjamin Avatar answered Oct 26 '22 03:10

Benjamin


Adding gem "zip-zip", "~> 0.1" and gem "rubyzip", "~> 1.0.0" should fix the issue.

like image 29
PriyankaK Avatar answered Oct 26 '22 04:10

PriyankaK


RubyZip version 1.0.0 changed several class names and the location of the file to require. This has introduced problems when one of your project dependencies relies on the v1.0.0 interface, while another on the v0.9.9 interface. To ease this problem try adding the zip-zip gem to your project. It provides a simple adapter for your dependencies using the v0.9.9 interface allowing you to upgrade to RubyZip v1.0.0.

like image 26
orien Avatar answered Oct 26 '22 03:10

orien