Skip to content

"Don't know how to build task 'assets:precompile'" when used without sprockets #58

@richardTowers

Description

@richardTowers

I'm seeing a problem running rake --tasks in a rails 7 project which has cssbundling-rails as a dependency but not sprockets.

% ▶ rake --tasks
rake aborted!
Don't know how to build task 'assets:precompile' (See the list of available tasks with `rake --tasks`)
/Users/richardtowers/Projects/sop_mark_two/Rakefile:6:in `<top (required)>'
(See full trace by running task with --trace)
with --trace
% ▶ rake --tasks --trace
rake aborted!
Don't know how to build task 'assets:precompile' (See the list of available tasks with `rake --tasks`)
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/task_manager.rb:59:in `[]'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/task.rb:405:in `[]'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/cssbundling-rails-1.0.0/lib/tasks/cssbundling/build.rake:10:in `<main>'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:60:in `load'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:60:in `load'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/engine.rb:661:in `block in run_tasks_blocks'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/engine.rb:661:in `each'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/engine.rb:661:in `run_tasks_blocks'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/application.rb:501:in `block in run_tasks_blocks'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/engine/railties.rb:15:in `each'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/engine/railties.rb:15:in `each'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/application.rb:501:in `run_tasks_blocks'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/railties-7.0.0/lib/rails/engine.rb:464:in `load_tasks'
/Users/richardtowers/Projects/sop_mark_two/Rakefile:6:in `<top (required)>'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/rake_module.rb:29:in `load'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/rake_module.rb:29:in `load_rakefile'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/application.rb:710:in `raw_load_rakefile'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/application.rb:104:in `block in load_rakefile'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/application.rb:103:in `load_rakefile'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/application.rb:82:in `block in run'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/lib/rake/application.rb:80:in `run'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/bin/rake:23:in `load'
/Users/richardtowers/.asdf/installs/ruby/3.0.1/bin/rake:23:in `<main>'

Note: I'm not trying to run assets:precompile - the error is thrown by rake --tasks.

The trace calls out build.rake:10 which looks like it assumes the assets:precompile task will exist.

Adding gem "sprockets-rails" to my Gemfile fixes the issue, but a749ca2 suggests that "Sprockets is not a dependency", so I think this is a bug.

I can have a go at a PR...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions