Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Missing helper file helpers/spree/store_helper.rb (LoadError) #55

Closed
sfcgeorge opened this Issue · 13 comments

5 participants

@sfcgeorge

On updating the gemfile I'm getting the below error, though oddly only after I've pushed to Heroku. Running in development locally is fine. I think this might be the gem at fault as I kept all the versioned gems the same, so the problem must have been introduced in one of the GitHub sourced gems.

I wonder if this commit could be what introduced the issue? 5682a56

Any thoughts welcome, thanks.

2013-02-12T00:01:12+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:317:in `rescue in depend_on': Missing helper file helpers/spree/store_helper.rb (LoadError)
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:312:in `depend_on'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:225:in `require_dependency'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.12/lib/abstract_controller/helpers.rb:135:in `block in modules_for_helpers'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.12/lib/action_controller/metal/helpers.rb:92:in `modules_for_helpers'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bundler/gems/spree_auth_devise-5682a5685982/app/controllers/spree/user_passwords_controller.rb:3:in `<class:UserPasswordsController>'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.12/lib/abstract_controller/helpers.rb:131:in `map!'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `require'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `block in require'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:236:in `load_dependency'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/bundler/gems/spree_auth_devise-5682a5685982/app/controllers/spree/user_passwords_controller.rb:1:in `<top (required)>'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `require'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:313:in `depend_on'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `require'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:359:in `require_or_load'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.12/lib/abstract_controller/helpers.rb:131:in `modules_for_helpers'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:225:in `require_dependency'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:438:in `block in eager_load!'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application/railties.rb:8:in `each'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:439:in `block (2 levels) in eager_load!'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:436:in `eager_load!'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `instance_exec'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:436:in `each'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:434:in `eager_load!'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application/railties.rb:8:in `all'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application/finisher.rb:53:in `block in <module:Finisher>'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:55:in `block in run_initializers'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:30:in `run'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.12/lib/abstract_controller/helpers.rb:95:in `helper'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `run_initializers'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/initializable.rb:54:in `each'
2013-02-12T00:01:12+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/application.rb:136:in `initialize!'

@radar
Collaborator

Could you please show us your Gemfile?

@sfcgeorge

I guess spree_flexi_variants could be breaking something as it overrides a bunch of stuff, though that hasn't been updated in a while. Thanks.

source 'https://rubygems.org'

ruby '1.9.3'
# gem 'rails', '3.2.1'

gem 'rails-i18n' #needed, despite what guide says
gem 'spree_i18n', :git => 'git://github.com/spree/spree_i18n.git'
gem 'rmagick'
gem 'carrierwave'
gem 'spree_flexi_variants', :git=>'git://github.com/jsqu99/spree_flexi_variants.git'
gem 'import_products', :git => 'git://github.com/sfcgeorge/spree-import-products.git', :branch => 'spree-1-0-rake'
# gem 'spree_product_groups', :git => 'git@github.com:spree/spree_product_groups.git'
gem 'spree_static_content', :git => 'git://github.com/spree/spree_static_content.git', :branch => '1-3-stable'
gem 'spree_fancy', :git => 'git://github.com/spree/spree_fancy.git'
gem 'delayed_job_active_record'
gem 'workless', '~> 1.0.1'

gem 'pg'

group :assets do
  gem 'compass-rails'
  gem 'sass-rails'
  gem 'coffee-rails'
  gem 'jquery-rails'
  gem 'uglifier', '>= 1.0.3'
end

gem 'haml'

gem 'unicorn'

gem 'spree_skrill'
gem 'spree_auth_devise', :git => 'git://github.com/spree/spree_auth_devise'
gem 'spree', '~> 1.3.2'

@cantorrodista

I have just reproduced this issue with an empty Rails app + spree + spree_auth_devise. My Gemfile is:

source 'https://rubygems.org'

ruby "1.9.3"

gem 'rails', '3.2.12'
gem 'mysql2'
gem 'spree', :git => 'git://github.com/spree/spree.git'
gem "spree_auth_devise", :git => "git://github.com/spree/spree_auth_devise"
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'`
@cantorrodista

I think the first commit that introduce the issue is this one 954c1ce

With the gem referenced to the previous commit (cf0500a) everything works fine...

gem "spree_auth_devise", :git => "git://github.com/spree/spree_auth_devise", :ref => "cf0500a2faa1320a0f69224d79aea1f815a47693"
@radar
Collaborator
@sfcgeorge

@cantorrodista Please could you push that empty app up to GitHub? It looks nice and simple. My app is getting a little complicated and for a client but I could probably push it up if need be. Though again, it ran fine locally anyway. My Ruby patch level is a little different from Heroku, I could try changing that though I doubt that would affect something as simple as a require. And thanks for the fast replies as always @radar !

@igmarin

I have the same problem in a new and empty app,

source 'https://rubygems.org'

gem 'rails', '3.2.12'
gem 'pg'
gem 'jquery-rails'
gem 'spree', '1.3.2'
gem 'thin'
gem "spree_auth_devise", :git => "git://github.com/spree/spree_auth_devise"

group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end

@radar
Collaborator

@igmarin: You're using Spree 1.3.2 and the master branch of spree_auth_devise, which are incompatible with each other. Please use the 1-3-stable branch with 1.3.x Spree versions.

@radar
Collaborator

@cantorrodista That looks like a Spree 1.3 generated app, because it's attempting to require the store/spree_core asset. Is this true?

@radar
Collaborator

I cannot reproduce this problem on the app provided by @cantorrodista (after fixing up the asset requires).

Please ensure you're using the correct branch of spree_auth_devise relative to your version of spree.

Spree master: Master branch of spree_auth_devise
Spree 1.3.x or 1-3-stable: 1-3-stable branch of spree_auth_devise
Spree 1.2.x or 1-2-stable: 1-2-stable branch of spree_auth_devise.

Thank you.

@radar radar closed this
@LBRapid
Collaborator

Ryan, I see this problem in quite a different place: When running specs for an extension. It seems to be something in spec/dummy that is causing the issue.

Steps to reproduce:
1. Generate new extension using spree gem (1.3.2)
2. generate a test app for the extension with rake test_app
3. Create a new spec file and add require 'spec_helper' to it.
4. Run rspec from the extensions root directory.
5. See the following: https://gist.github.com/LBRapid/4956559

Edit: I think the issue might be related to the sandbox generator (I think that's used when creating a test app) in our released gem. I recall that in the generated Gemfile we were pointing at the wrong branch of spree_auth_devise. I had changed that with spree/spree@591ae4c

@LBRapid LBRapid reopened this
@radar
Collaborator

@LBRapid I think that problem is definitely related.

I've got a fix in to 1-3-stable and another for 1-2-stable which should stop both branches from using the wrong version of spree_auth_devise when using extensions.

@radar radar closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.