trying to import bootstrap via bootstrap-sass on h

2019-07-19 12:18发布

问题:

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)

回答1:

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.



回答2:

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 .
*/