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

Closed
sfcgeorge opened this Issue Feb 12, 2013 · 13 comments

Comments

Projects
None yet
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

This comment has been minimized.

Show comment Hide comment
@radar

radar Feb 12, 2013

Member

Could you please show us your Gemfile?

Member

radar commented Feb 12, 2013

Could you please show us your Gemfile?

@sfcgeorge

This comment has been minimized.

Show comment Hide comment
@sfcgeorge

sfcgeorge Feb 12, 2013

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'

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

This comment has been minimized.

Show comment Hide comment
@cantorrodista

cantorrodista Feb 12, 2013

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'`

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

This comment has been minimized.

Show comment Hide comment
@cantorrodista

cantorrodista Feb 12, 2013

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"

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

This comment has been minimized.

Show comment Hide comment
@radar

radar Feb 12, 2013

Member

The Spree::StoreHelper module is definitely included in the master branch
and I am unable to reproduce this issue in my edge app. Do either of you
you have an app that reproduces this issue that I can clone from GitHub?

On Wed, Feb 13, 2013 at 4:18 AM, Alfredo notifications@github.com wrote:

I think the first commit that introduce the issue is this one 954c1cehttps://github.com/spree/spree_auth_devise/commit/954c1ceac32718886392eb552eb9b5ad293c6078

With the gem referenced to the previous commit (cf0500ahttps://github.com/spree/spree_auth_devise/commit/cf0500a2faa1320a0f69224d79aea1f815a47693)
everything works fine...

gem "spree_auth_devise", :git => "git://github.com/spree/spree_auth_devise", :ref => "cf0500a2faa1320a0f69224d79aea1f815a47693"


Reply to this email directly or view it on GitHubhttps://github.com/spree/spree_auth_devise/issues/55#issuecomment-13443858.

Member

radar commented Feb 12, 2013

The Spree::StoreHelper module is definitely included in the master branch
and I am unable to reproduce this issue in my edge app. Do either of you
you have an app that reproduces this issue that I can clone from GitHub?

On Wed, Feb 13, 2013 at 4:18 AM, Alfredo notifications@github.com wrote:

I think the first commit that introduce the issue is this one 954c1cehttps://github.com/spree/spree_auth_devise/commit/954c1ceac32718886392eb552eb9b5ad293c6078

With the gem referenced to the previous commit (cf0500ahttps://github.com/spree/spree_auth_devise/commit/cf0500a2faa1320a0f69224d79aea1f815a47693)
everything works fine...

gem "spree_auth_devise", :git => "git://github.com/spree/spree_auth_devise", :ref => "cf0500a2faa1320a0f69224d79aea1f815a47693"


Reply to this email directly or view it on GitHubhttps://github.com/spree/spree_auth_devise/issues/55#issuecomment-13443858.

@sfcgeorge

This comment has been minimized.

Show comment Hide comment
@sfcgeorge

sfcgeorge Feb 13, 2013

@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 !

@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 !

@cantorrodista

This comment has been minimized.

Show comment Hide comment
@cantorrodista

cantorrodista Feb 13, 2013

Yes, you can check the app here:

https://github.com/cantorrodista/spree_devise_test

@igmarin

This comment has been minimized.

Show comment Hide comment
@igmarin

igmarin Feb 14, 2013

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

igmarin commented Feb 14, 2013

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

This comment has been minimized.

Show comment Hide comment
@radar

radar Feb 14, 2013

Member

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

Member

radar commented Feb 14, 2013

@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

This comment has been minimized.

Show comment Hide comment
@radar

radar Feb 14, 2013

Member

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

Member

radar commented Feb 14, 2013

@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

This comment has been minimized.

Show comment Hide comment
@radar

radar Feb 14, 2013

Member

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.

Member

radar commented Feb 14, 2013

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 Feb 14, 2013

@LBRapid

This comment has been minimized.

Show comment Hide comment
@LBRapid

LBRapid Feb 14, 2013

Member

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

Member

LBRapid commented Feb 14, 2013

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 Feb 14, 2013

@radar

This comment has been minimized.

Show comment Hide comment
@radar

radar Feb 14, 2013

Member

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

Member

radar commented Feb 14, 2013

@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 Feb 14, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment