2
votes

I have a rails app and am trying to import bootstrap on heroku with bootstrap-sass following the directions from here: https://github.com/thomas-mcdonald/bootstrap-sass

In my application.css, I have:

@import "bootstrap";
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *
 */

@import "overrides.css.scss";

but am getting the following error when I git push heroku master.

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       rake aborted!
       File to import not found or unreadable: bootstrap.
       Load path: /tmp/build_8elam02dzb95
       (in /tmp/build_8elam02dzb95/app/assets/stylesheets/application.css)
       (sass):1
       /tmp/build_8elam02dzb95/vendor/bundle/ruby/1.9.1/gems/sass-3.2.7/lib/sass/tree/import_node.rb:67:in `rescue in import'
       /tmp/build_8elam02dzb95/vendor/bundle/ruby/1.9.1/gems/sass-3.2.7/lib/sass/tree/import_node.rb:45:in `import'
       /tmp/build_8elam02dzb95/vendor/bundle/ruby/1.9.1/gems/sass-3.2.7/lib/sass/tree/import_node.rb:28:in `imported_file'
       /tmp/build_8elam02dzb95/vendor/bundle/ruby/1.9.1/gems/sass-3.2.7/lib/sass/tree/import_node.rb:37:in `css_import?'
       /tmp/build_8elam02dzb95/vendor/bundle/ruby/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:217:in `visit_import'
       /tmp/build_8elam02dzb95/vendor/bundle/ruby/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:37:in `visit'
       /tmp/build_8elam02dzb95/vendor/bundle/ruby/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:100:in `visit'

What am I doing wrong?

edit #1 output showing bootstrap-sass is installed

-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.3.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
       Using rake (10.0.3)
       Using i18n (0.6.4)
       Using multi_json (1.6.1)

       ....
       Using sass (3.2.7)
       Using bootstrap-sass (2.2.2.0)
       Using coffee-script-source (1.6.1)
2
Is the bootstrap-sass gem in your gemfile? Can you verify that Heroku is installing it?drewinglis
added the heroku output showing install and can confirm doing gem list from heroku consoletimpone
what about /*= require bootstrap */?sites
? - should that work? not mentioned in github notes. Anybody know where the ACTUAL bootstap files would be located? I'm doing a find against my app and only see the files I created as potential filestimpone

2 Answers

1
votes

It's been a while so not sure if this is still relevant. It appears that your application.css should have been named application.css.scss so that it will be processed by Sass. Otherwise the normal CSS @import directive would not be aware of Sass Bootstrap.

0
votes

I would rather suggest not to rename the application.css but create a new file called custom.css.scss and and the

@import "bootstrap";

there. Also make sure you have sass-rails gem in your gemfile.
The above configuration is working fine for me. And my application.css looks like this:

*
*= require_self
*= require_tree .
*/