solidus icon indicating copy to clipboard operation
solidus copied to clipboard

Bug: `bin/rails generate solidus:install` Fails with `Sprockets::Railtie::ManifestNeededError` on Rails 8

Open progressive-galib opened this issue 4 months ago • 0 comments

Description Following the official Solidus Getting Started guide to set up a new project, the bin/rails generate solidus:install command fails immediately after running rails new and bundle add solidus.

The error, Sprockets::Railtie::ManifestNeededError, indicates that a manifest file is missing, which is a file used to manage assets.

Steps to Reproduce

  1. Create a new Rails project:
    rails new -T fishmart
    
  2. Navigate into the project directory:
    cd fishmart
    
  3. Add Solidus to the project:
    bundle add solidus
    
  4. Run the Solidus installation generator:
    bin/rails generate solidus:install
    

Expected Behavior

The solidus:install generator should run successfully, setting up the necessary files and configurations for the Solidus e-commerce platform.

Actual Behavior

The command fails with the following error stack trace:

/usr/local/rvm/gems/ruby-3.4.1/gems/sprockets-rails-3.5.2/lib/sprockets/railtie.rb:106:in 'block in <class:Railtie>': Expected to find a manifest file in `app/assets/config/manifest.js` (Sprockets::Railtie::ManifestNeededError)
But did not, please create this file and use it to link any assets that need
to be rendered by your app:

Example:
  //= link_tree ../images
  //= link_directory ../javascripts .js
  //= link_directory ../stylesheets .css
and restart your server

For more information see: https://github.com/rails/sprockets/blob/070fc01947c111d35bb4c836e9bb71962a8e0595/UPGRADING.md#manifestjs

Environment

  • Ruby version: 3.4.1
  • Rails version: 8.0.2.1
  • Solidus version: 4.6
  • Operating System: Linux (Ubuntu)

Additional Context

This appears to be a compatibility issue between the asset pipeline setup in the latest version of Rails and the solidus:install generator, which seems to expect a file (app/assets/config/manifest.js) that is not created by default in a new Rails 8 project.

The new Rails 8 template uses Importmap as the default JavaScript solution, which may conflict with Solidus's asset requirements, specifically those related to Sprockets.

This issue prevents the basic installation of Solidus on a fresh Rails 8 application, making it impossible to follow the official guide.

progressive-galib avatar Sep 15 '25 07:09 progressive-galib