Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Solidus Installation Failure

So Solidus is a fork of Spree and Spree is no longer maintained. Am following the instructions on the Solidus's Github page (https://github.com/solidusio/solidus) to install it. And am stuck at this command bundle exec rails g spree:install this command raises the following error:

/Users/user1/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/handlebars_assets-0.19.1/lib/handlebars_assets.rb:20:in 'block in register_extensions': undefined method 'register_engine' for nil:NilClass (NoMethodError)

Not sure if this might help but before trying to install Solidus I was working on a Spree project.

Also, here is my Gemfile:

  source 'https://rubygems.org'
  # Solidus E-Commerce
  gem 'solidus'
  gem 'solidus_auth_devise'

  # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
  gem 'rails', '4.2.4'
  # Use sqlite3 as the database for Active Record
  gem 'sqlite3'
  # Use SCSS for stylesheets
  gem 'sass-rails', '~> 5.0'
  # Use Uglifier as compressor for JavaScript assets
  gem 'uglifier', '>= 1.3.0'
  # Use CoffeeScript for .coffee assets and views
  gem 'coffee-rails', '~> 4.1.0'
  # See https://github.com/rails/execjs#readme for more supported runtimes
  # gem 'therubyracer', platforms: :ruby

  # Use jquery as the JavaScript library
  gem 'jquery-rails'
  # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
  gem 'turbolinks'
  # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
  gem 'jbuilder', '~> 2.0'
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', '~> 0.4.0', group: :doc

  # Use ActiveModel has_secure_password
  # gem 'bcrypt', '~> 3.1.7'

  # Use Unicorn as the app server
  # gem 'unicorn'

  # Use Capistrano for deployment
  # gem 'capistrano-rails', group: :development

  group :development, :test do
    # Call 'byebug' anywhere in the code to stop execution and get a debugger console
    gem 'byebug'
  end

  group :development do
    # Access an IRB console on exception pages or by using <%= console %> in views
    gem 'web-console', '~> 2.0'

    # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
    gem 'spring'
  end

Any help is really appreciated.

like image 440
Homoud Avatar asked Jan 06 '23 23:01

Homoud


2 Answers

Update:

This is a known bug with handlebars-assets gem, which is resolved in master.

Adding the line :

gem 'handlebars_assets', github: 'leshill/handlebars_assets'

to your Gemfile will solve your problem until a new version contains the relevant fix.


Move the lines :

gem 'solidus'
gem 'solidus_auth_devise'

below gem 'rails', '4.2.4' because the former depends on the latter.

like image 104
lorefnon Avatar answered Jan 13 '23 08:01

lorefnon


We've released a new version of solidus (v1.1.1) which locks sprockets-rails to 2.x to fix this issue.

https://github.com/solidusio/solidus/releases/tag/v1.1.1

In lieu of upgrading you can also specify the older sprockets-rails version in your Gemfile

gem "sprockets-rails", "~> 2.3"
like image 31
jhawthorn Avatar answered Jan 13 '23 09:01

jhawthorn