ChrisJ
ChrisJ

Reputation: 2792

Heroku can't precompile or clean assets uninitialized constant Rake::AltSystem

I'm having trouble getting my assets to precompile on heroku.

I think the issue is related to a file that changed type (it was sym link, then a hardlink, and now just a normal file).

When precompiling when I deploy I get:

rake aborted!
       File to import not found or unreadable: token-input.
       Load path: Sass::Rails::Importer(/tmp/build_3f056915-63fa-4ec6-973d-39b8dd847458/app/assets/stylesheets/active_admin.css.scss)
...

(token input is the file I suspected, so am trying to clean as per this article

But when I do a rake:assets clean I get this error.

rake aborted!
uninitialized constant Rake::AltSystem
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.4/lib/rake/file_utils.rb:68:in `rake_system'
...

I'm pretty stumped on this error - I googled it, very little came up.

Upvotes: 0

Views: 335

Answers (2)

ChrisJ
ChrisJ

Reputation: 2792

Turned out it was more symlinks. The error message refers to the CSS that goes with token-input, which I'd forgotten goes with the javascript file. (When posting, I had assumed it was a javascript file error, which was why I was confused)

I changed the CSS files from symlinks to normal files, pushed to heroku and it all went smoothly.

Moral of the story, don't use symlinks in your repo.

Upvotes: 0

sites
sites

Reputation: 21795

Maybe you have to add token-input to asset paths.

I would try this:

  1. enter rails console
  2. Rails.application.config.assets.paths
  3. Check whether token-input is inside these directories.
  4. If not, in config/application.rb:

    config.assets.path << Rails.root.join("path","to","token-input-folder")
    

Upvotes: 0

Related Questions