undefined method 'inline' for ImageScience:Class (NoMethodError) - ruby-on-rails

I am migrating a Rails 2.1.2 application to Rails 2.3.11
To make my life easier i used bundler but I get the following error when starting my server:
/Library/Ruby/Gems/1.8/gems/image_science-1.2.1/lib/image_science.rb:90: undefined method `inline' for ImageScience:Class (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require'
from ./script/../config/boot.rb:113:in `load_gems'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.11/lib/initializer.rb:164:in `process'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.11/lib/initializer.rb:113:in `send'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.11/lib/initializer.rb:113:in `run'
from /Users/michaelkoper/code/beruby_git/config/environment.rb:18
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:182:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:182:in `require'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:547:in `new_constants_in'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.11/lib/active_support/dependencies.rb:182:in `require'
from /Library/Ruby/Gems/1.8/gems/rails-2.3.11/lib/commands/server.rb:84
from script/server:3:in `require'
from script/server:3
It is kind of strange because i got it working without bundler. I think i am missing a gem dependency.
Gemfile:
gem 'mperham-deadlock_retry', :require => 'deadlock_retry'
gem 'hoptoad_notifier', '2.4.2'
gem 'will_paginate', '~> 2.3.15'
gem "activemerchant", :require => "active_merchant"
gem "newrelic_rpm"
gem 'calendar_date_select'
gem 'ckeditor', '3.4.3' gem 'automatic_foreign_key'
gem 'chronic'
gem 'mechanize'
gem 'rexml-expansion-fix'
gem 'image_science', '1.2.1'
gem 'inline', '0.1.0'
bundle install:
Using rake (0.8.7)
Using activesupport (2.3.11)
Using rack (1.1.2)
Using actionpack (2.3.11)
Using actionmailer (2.3.11)
Using builder (3.0.0)
Using braintree (2.10.0)
Using activemerchant (1.14.0)
Using activerecord (2.3.11)
Using activeresource (2.3.11)
Using redhillonrails_core (1.1.3)
Using automatic_foreign_key (1.2.0)
Using calendar_date_select (1.16.2)
Using cgi_multipart_eof_fix (2.5.0)
Using hoe (2.8.0)
Using chronic (0.2.3)
Using mime-types (1.16)
Using ckeditor (3.4.3)
Using columnize (0.3.2)
Using daemons (1.0.10)
Using fastthread (1.0.7)
Using gem_plugin (0.2.3)
Using highline (1.6.1)
Using hoptoad_notifier (2.4.2)
Using image_science (1.2.1)
Using inline (0.1.0)
Using linecache (0.43)
Using nokogiri (1.4.4)
Using mechanize (0.9.3)
Using mongrel (1.1.5)
Using mperham-deadlock_retry (1.0.0)
Using mysql (2.8.1)
Using newrelic_rpm (2.14.1)
Using rails (2.3.11)
Using rexml-expansion-fix (1.0.1)
Using ruby-debug-base (0.10.4)
Using ruby-debug (0.10.4)
Using will_paginate (2.3.15)
Using bundler (1.0.7)

Actually, it looks like you probably want this answer: ImageScience breaks on update to Rails 3

Related

`rails server` throws error "cannot load such file" -- sass/logger (LoadError)

Rails: 3.2.12
Ruby: 1.9.3p392 (openSuse package)
OS: openSuse 12.3
I just ran rails new specsheets. This ran cleanly including the bundle install:
<snip>
run bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.1)
Using i18n (0.6.9)
Using multi_json (1.8.4)
Using activesupport (3.2.12)
Using builder (3.0.4)
Using activemodel (3.2.12)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.5)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.3)
Using tilt (1.4.1)
Using sprockets (2.2.2)
Using actionpack (3.2.12)
Using mime-types (1.25.1)
Using polyglot (0.3.3)
Using treetop (1.4.15)
Using mail (2.4.4)
Using actionmailer (3.2.12)
Using arel (3.0.3)
Using tzinfo (0.3.38)
Using activerecord (3.2.12)
Using activeresource (3.2.12)
Using bundler (1.3.5)
Using coffee-script-source (1.7.0)
Using execjs (2.0.2)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.3)
Using json (1.8.1)
Using rdoc (3.12.2)
Using thor (0.18.1)
Using railties (3.2.12)
Using coffee-rails (3.2.2)
Using jquery-rails (3.1.0)
Using rails (3.2.12)
Using sass (3.2.14)
Using sass-rails (3.2.6)
Using sqlite3 (1.3.8)
Using uglifier (2.4.0)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
When I attempt to start the WEBrick server it throws the following at me:
/usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/logger.rb:1:in `require': cannot load such file -- sass/logger (LoadError)
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/logger.rb:1:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/railtie.rb:23:in `<class:Railtie>'
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/railtie.rb:4:in `<module:Rails>'
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/railtie.rb:3:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails.rb:16:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails.rb:16:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass-rails.rb:1:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass-rails.rb:1:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
from /home/msnyder/bin/ruby/specsheets/config/application.rb:7:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:53:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:53:in `block in <top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `tap'
from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
I'm new to rails so I don't know what to look for. In the past I'd go to the directory in question (/usr/lib/ruby/gems/1.9.1/gems/) and make sure everything was readable by non-root users and groups. This hasn't worked this time around.
I also noticed that my Gemfile mentioned sass-rails 3.2.3 while the installed version is 3.2.6. I modified the Gemfile to reflect this but still get the errors.
My Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.12'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.6'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
The log directory under the application directory is empty so there is nothing to report from there.
The server starts fine when run with sudo. However, as I have this in my own /home directory that shouldn't be the case.
Put sass-rails above rails in your gemfile.
The sass-rails gem is trying to setup the logger and cannot find the Sass::Rails::Logger class.
https://github.com/rails/sass-rails/blob/3-2-stable/lib/sass/rails/railtie.rb#L23
This is probably because you are calling sass before it has time to setup and autoload.
https://github.com/rails/sass-rails/blob/3-2-stable/lib/sass/rails.rb#L7

Gem Dependency Problems With Legacy App

I've inherited a rails 2.2 app and I'm having some trouble getting my local enviornment configured in a way that will allow me to work. Booting WEBrick gives me the following error:
./script/server
=> Booting WEBrick...
/Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/gem_dependency.rb:224:in `specification': undefined method `version_requirements=' for #<Gem::Dependency:0x10b1ec6a0> (NoMethodError)
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/locator.rb:81:in `plugins'
from /Users/swachtma/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:54:in `inject'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/locator.rb:81:in `each'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/locator.rb:81:in `inject'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/locator.rb:81:in `plugins'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/loader.rb:63:in `locate_plugins'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/loader.rb:62:in `map'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/loader.rb:62:in `locate_plugins'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/loader.rb:27:in `all_plugins'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/loader.rb:22:in `plugins'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/rails/plugin/loader.rb:45:in `add_plugin_load_paths'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/initializer.rb:269:in `add_plugin_load_paths'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/initializer.rb:135:in `process'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/initializer.rb:112:in `send'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/initializer.rb:112:in `run'
from /Users/swachtma/htdocs/skating_circle/config/environment.rb:20
from /Users/swachtma/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:54:in `gem_original_require'
from /Users/swachtma/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:54:in `require'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/commands/servers/webrick.rb:59
from /Users/swachtma/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:54:in `gem_original_require'
from /Users/swachtma/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:54:in `require'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in `require'
from /Users/swachtma/.rvm/gems/ruby-1.8.7-p371#skating/gems/rails-2.2.2/lib/commands/server.rb:49
from /Users/swachtma/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:54:in `gem_original_require'
from /Users/swachtma/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:54:in `require'
from ./script/server:3
I suspect I may need to downgrade my version of ruby-gems but I'm at a loss as to how to determine and appropriate version.
These are my local gems:
*** LOCAL GEMS ***
actionmailer (2.2.2)
actionpack (2.2.2)
activerecord (2.2.2)
activeresource (2.2.2)
activesupport (2.2.2)
aws-s3 (0.6.3)
builder (3.1.4)
bundler (1.2.3)
contacts (1.2.4)
diff-lcs (1.1.3)
fastercsv (1.5.5)
gdata (1.1.1)
heywatch (1.2.0)
highline (1.6.15)
hoptoad_notifier (2.4.11)
hpricot (0.8.6)
json (1.7.6)
mime-types (1.19)
mini_magick (3.4)
net-ssh (2.6.3)
rack (1.5.1)
rails (2.2.2)
rake (10.0.3, 0.8.7)
rest-client (1.6.7)
rspec (2.12.0, 1.3.2)
rspec-core (2.12.2, 2.6.4)
rspec-expectations (2.12.1, 2.6.0)
rspec-mocks (2.12.2, 2.6.0)
rspec-rails (1.3.2)
rubygems-bundler (1.1.0)
rubygems-update (1.4.2)
rvideo (0.9.3)
rvm (1.11.3.6)
subexec (0.2.2)
will_paginate (2.2.2)
xml-simple (1.1.2)
For Rails 2.2 gem version 1.4.2 works I guess. Try downgrading to 1.4.2
sudo gem update --system 1.4.2 or rvm install rubygems 1.4.2
Try this
gem install rubygems-update -v='1.4.2'
gem uninstall rubygems-update -v='1.5.0'
update_rubygems
Also, refer to these questions:
Gem dependency error in rails 2.3.4
ruby on rails: undefined method "version_requirements' when attempting to start server after new install

Rspec error: Diff is not a module

Following Ryan Bates railscast brand new to rspec.
I get
Guard is now watching at '/Users/thealey/Source/rpd31'
Guard::RSpec is running, with RSpec 2!
Running all specs
/Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/diff-lcs-1.1.3/lib/diff/lcs.rb:3:in `': Diff is not a module (TypeError)
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `block in require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:227:in `load_dependency'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-expectations-2.6.0/lib/rspec/expectations/differ.rb:1:in `'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `block in require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:227:in `load_dependency'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-expectations-2.6.0/lib/rspec/expectations.rb:9:in `'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `block in require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:227:in `load_dependency'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/expecting/with_rspec.rb:1:in `'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `block in require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:227:in `load_dependency'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/activesupport-3.0.10/lib/active_support/dependencies.rb:239:in `require'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:207:in `block in expect_with'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:202:in `each'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:202:in `expect_with'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:184:in `expectation_frameworks'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:413:in `configure_expectation_framework'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:165:in `ensure_example_groups_are_configured'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:178:in `set_it_up'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:141:in `subclass'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/example_group.rb:129:in `describe'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/dsl.rb:5:in `describe'
from /Users/thealey/Source/rpd31/spec/requests/create_projects_spec.rb:3:in `'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:80:in `run_in_process'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:69:in `run'
from /Users/thealey/.rvm/gems/ruby-1.9.2-p290#rails31/gems/rspec-core-2.6.4/lib/rspec/core/runner.rb:11:in `block in autorun'
Gemfile is
source 'http://rubygems.org'
gem 'rails', '3.0.10'
gem 'mysql2', '0.2.7'
gem "authlogic"
gem 'activesupport', '3.0.10'
gem 'cancan'
gem 'will_paginate', "~> 3.0"
gem 'calendar_date_select', :git => 'http://github.com/paneq/calendar_date_select.git', :branch => 'rails3test'
gem 'bluecloth'
gem 'rdiscount'
gem 'capybara'
gem 'paperclip'
gem 'mail'
any ideas about how to troubleshoot this appreciated.
Edit: I removed commented out lines from Gemfile.
I put diff into my gemfile no change.
This is the output of bundle.
Using rake (0.9.2)
Using abstract (1.0.0)
Using activesupport (3.0.10)
Using builder (2.1.2)
Using i18n (0.5.0)
Using activemodel (3.0.10)
Using erubis (2.6.6)
Using rack (1.2.3)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.29)
Using actionpack (3.0.10)
Using mime-types (1.16)
Using polyglot (0.3.2)
Using treetop (1.4.10)
Using mail (2.2.19)
Using actionmailer (3.0.10)
Using arel (2.0.10)
Using activerecord (3.0.10)
Using activeresource (3.0.10)
Using addressable (2.2.6)
Using archive-tar-minitar (0.5.2)
Using authlogic (3.0.3)
Using crack (0.1.8)
Using httparty (0.7.8)
Using multipart-post (1.1.3)
Using faraday (0.7.4)
Using multi_json (1.0.3)
Using oauth2 (0.5.0)
Using bitly (0.6.1)
Using bluecloth (2.1.0)
Using bson (1.3.1)
Using bson_ext (1.3.1)
Using bundler (1.0.18)
Using calendar_date_select (1.16.1) from http://github.com/paneq/calendar_date_select.git (at rails3test)
Using cancan (1.6.5)
Using nokogiri (1.5.0)
Using ffi (1.0.9)
Using childprocess (0.2.2)
Using json_pure (1.6.0)
Using rubyzip (0.9.4)
Using selenium-webdriver (2.5.0)
Using xpath (0.1.4)
Using capybara (1.1.1)
Using chronic (0.6.4)
Using cocaine (0.2.0)
Using colored (1.2)
Using columnize (0.3.4)
Using daemons (1.1.4)
Using diff (0.3.6)
Using diff-lcs (1.1.3)
Using eventmachine (0.12.10)
Using factory_girl (2.1.0)
Using rdoc (3.9.4)
Using thor (0.14.6)
Using railties (3.0.10)
Using factory_girl_rails (1.2.0)
Using git_remote_branch (0.3.0)
Using googlecharts (1.6.7)
Using gravtastic (3.2.6)
Using guard (0.6.3)
Using guard-rspec (0.4.5)
Using htmldiff (0.0.1)
Using ruby_core_source (0.1.5)
Using linecache19 (0.5.12)
Using mysql2 (0.2.7)
Using net-ldap (0.2.2)
Using net-ping (1.5.0)
Using paperclip (2.4.1)
Using rails (3.0.10)
Using rdiscount (1.6.8)
Using ri_cal (0.8.8)
Using riddle (1.4.0)
Using rspec-core (2.6.4)
Using rspec-expectations (2.6.0)
Using rspec-mocks (2.6.0)
Using rspec (2.6.0)
Using rspec-rails (2.6.1)
Using ruby-debug-base19 (0.11.25)
Using ruby-debug19 (0.11.6)
Using seed_dump (0.3.4)
Using thin (1.2.11)
Using thinking-sphinx (2.0.1)
Using time_diff (0.2.1)
Using will_paginate (3.0.pre)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
I had the identical issue. In my case I had a model class called Diff (defined in diff.rb) which led to the issue. I've renamed my class/module and all is well now. I'm somewhat disappointed that this sort of namespace collision could occur.
Other users have also encountered issues with collisions originating from other gems (eg: https://github.com/sunaku/tork/issues/3). If I were troubleshooting the issue, I'd go to your gem directory (use bundle show for any one of your gems to find where they live) and run
find . -name diff.rb
That should tell you all of the libraries that contain a diff.rb file. I'd be looking for one of the more obscure/less actively maintained gems to be the culprit. You'll likely need to find an alternative gem (or contribute a fix the offending gem!) to fix the issue.

Error "uninitialized constant Rails::Engine (NameError)"

I am trying to join a Rails project. This project uses rails 2.3.8 and Ruby 1.8.7 so I am using RVM. I am also using gem v1.3.7
When I fire up the server, everything is ok. But then, when I try to access it through my browser, it crashes and I get the following trace:
/Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:440:in `load_missing_constant': uninitialized constant Rails::Engine (NameError)
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:80:in `const_missing'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/devise_invitable-0.3.6/lib/devise_invitable/rails.rb:2
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/devise_invitable-0.3.6/lib/devise_invitable.rb:16
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/rails/gem_dependency.rb:215:in `load'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/initializer.rb:307:in `each'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/initializer.rb:169:in `process'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/initializer.rb:113:in `send'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/initializer.rb:113:in `run'
from /Users/ca/Documents/Project/Sources/Project-test/config/environment.rb:9
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require'
from /Users/ca/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.8/lib/commands/server.rb:84
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Users/ca/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./script/server:3
Here are my installed gems:
actionmailer (2.3.8)
actionpack (2.3.8)
activemodel (3.0.5)
activerecord (2.3.8)
activeresource (2.3.8)
activesupport (3.0.5, 2.3.8)
addressable (2.2.4)
arel (2.0.9)
aws (2.4.4)
aws-s3 (0.6.2)
bcrypt-ruby (2.1.4)
builder (3.0.0, 2.1.2)
client_side_validations (2.9.9)
crack (0.1.8)
daemons (1.1.0)
dalli (1.0.2)
delayed_job (2.0.3)
devise (1.1.7)
devise_invitable (0.3.6)
faraday (0.5.7, 0.4.6)
fb_graph (1.5.3)
googlecharts (1.6.1)
http_connection (1.4.0)
httparty (0.7.4)
i18n (0.5.0)
json (1.5.1, 1.4.3)
mime-types (1.16)
multi_json (0.0.5)
multipart-post (1.1.0)
net-ldap (0.1.1)
nokogiri (1.4.4)
oa-basic (0.1.5)
oa-core (0.1.5)
oa-enterprise (0.1.5)
oa-oauth (0.1.5)
oa-openid (0.1.5)
oauth (0.4.4)
oauth2 (0.1.1, 0.0.13)
omniauth (0.1.5)
paperclip (2.3.8)
pyu-ruby-sasl (0.0.3.2)
rack (1.1.1)
rack-openid (1.1.2)
rails (2.3.8)
rake (0.8.7)
RedCloth (4.2.7)
rest-client (1.6.1)
ruby-openid (2.1.8)
ruby-openid-apps-discovery (1.2.0)
rubygems-update (1.3.7)
rubyntlm (0.1.1)
tzinfo (0.3.24)
uuidtools (2.1.2)
validates_timeliness (2.3.0)
validation_reflection (0.3.7)
validation_reflection-active_model (0.3.1)
warden (1.0.3)
will_paginate (2.3.15)
xml-simple (1.0.14)
Where does the problem come from?
Thank you very much for your help!
Your version of the DeviseInvitable is too new for Rails 2.3.
DeviseInvitable currently only support Rails 3, if you want to use it with Rails 2.3 you must install version 0.2.3
As is Devise 1.1
Support for Rails 2.3.x can be found by installing Devise 1.0.x from the v1.0 branch.
Run
gem uninstall devise devise_invitable
gem install devise --version 1.0.10
gem install devise_invitable --version 0.2.3

No such file to load -- zip/zip (MissingSourceFile) when running cucumber

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/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.

Resources