Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets
Ruby on-RailsTwitter BootstrapRuby on-Rails Problem Overview
I am suddenly getting this error in development and in production on deployment.
custom.css.scss
@import "bootstrap-sprockets";
@import "bootstrap";
error (in production)
rake aborted!
Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets.
Load paths:
/srv/www/myapp/releases/20141001060418/app/assets/images
/srv/www/myapp/releases/20141001060418/app/assets/javascripts
/srv/www/myapp/releases/20141001060418/app/assets/stylesheets
/srv/www/myapp/releases/20141001060418/vendor/assets/javascripts
/srv/www/myapp/releases/20141001060418/vendor/assets/stylesheets
Ruby on-Rails Solutions
Solution 1 - Ruby on-Rails
After making changes to Gemfile, do not forget to restart the server with rails s
Restarting the rails server worked like a charm! :D
Solution 2 - Ruby on-Rails
I solved this issue by upgrading bootstrap-sass
gem 'bootstrap-sass', '3.2.0.2'
Solution 3 - Ruby on-Rails
Please restart you rails server after every changes in Gemfile
rails server
Solution 4 - Ruby on-Rails
For the Sass version of Bootstrap 5 in versions of rails before 6 use
gem `bootstrap`
For Sass versions of Bootstrap 3 and 2 Make sure you don't have
gem 'bootstrap' # Remove this line
gem 'bootstrap-sass'
It should just be
gem 'bootstrap-sass'
Solution 5 - Ruby on-Rails
I solved it in following steps:
- List item
- copying the "bootstrap.css" in my "app/assets/stylesheets/ (it was missing)
- gem install autoprefixer-rails (also modify Gemfile)
- gem install sprockets (also modify Gemfile)
- bundle install
- RESTART server (not just refreshing page)
Solution 6 - Ruby on-Rails
This is how I solved the issue.
Go to Bootstrap for Sass Github page and follow the instructions:
-
Add the following to the Gemfile
gem 'bootstrap-sass', '~> 3.3.6' gem 'sass-rails', '>= 3.2'
-
Run the command
bundle install
-
Start/restart the server
rails s
Also, make sure the file has .scss extension (or .sass for Sass syntax). If you have just generated a new Rails app, it may come with a .css file instead. If this file exists, it will be served instead of Sass, so rename it. Then, remove all the *= require_self and *= require_tree . statements from the sass file. Instead, use @import to import Sass files.
Solution 7 - Ruby on-Rails
I have observed the same behaviour. In my case i have removed the version of the gem 'bootstap-sass' and it worked. There might be compatibility issue with the gem version which was causing the problem.
Gem file
gem 'bootstrap-sass'
After making changes in the gem file perform following commands:
bundle install
If the server is already running then stop it by "CTRL+C" and start the server again
rails s
Solution 8 - Ruby on-Rails
In your Gemfile you need to add the bootstrap-sass gem, and ensure that the sass-rails gem is present - it is added to new Rails applications by default.
gem 'bootstrap-sass', '3.3.7'
gem 'sass-rails', '5.0.6'
gem 'rails', '5.0.0'
bundle install and restart your server to make the files available through the pipeline. Import Bootstrap styles in app/assets/stylesheets/application.scss:
// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap-sprockets";
@import "bootstrap";
bootstrap-sprockets must be imported before bootstrap for the icon fonts to work. Make sure the file has .scss extension (or .sass for Sass syntax). If you have just generated a new Rails app, it may come with a .css file instead. If this file exists, it will be served instead of Sass, so rename it:
> $ mv app/assets/stylesheets/application.css TO: > app/assets/stylesheets/application.scss
Then, remove all the *= require_self
and *= require_tree .
statements from the sass file. Instead, use @import
to import Sass files.
e.g
*= require_tree .
*= require_self
To:
@import require_tree .
@import require_self
Do not use *= require
in Sass or your other stylesheets will not be able to access the Bootstrap mixins or variables.
Bootstrap JavaScript depends on jQuery. If you're using Rails 5.1+
, add the jquery-rails gem to your Gemfile:
gem 'jquery-rails'
$ bundle install
Require Bootstrap Javascripts in
> app/assets/javascripts/application.js:
//= require jquery
//= require bootstrap-sprockets
bootstrap-sprockets
and bootstrap
should not both be included in
> application.js
.
bootstrap-sprockets
provides individual Bootstrap Javascript files (alert.js or dropdown.js, for example), while bootstrap
provides a concatenated file containing all Bootstrap Javascripts.
This will fix the error
Copied @github
Solution 9 - Ruby on-Rails
This error mostly comes in rails 3.2.x versions. If you are using rails version 3.2 you have to specify a special version in your gem file like below:
gem 'rails', '3.2.0'
gem 'bootstrap-sass', '3.2.0.2'
It will resolve the problem for rails -v '3.2.0'
Solution 10 - Ruby on-Rails
put this in gem file
gem 'bootstrap-sass', '~> 3.3.5'
gem 'sass-rails', '>= 3.2'
then run $ bundle install
Restart the server.
Solution 11 - Ruby on-Rails
If you get this message when running integration tests, make sure that your asset gems are included in the test group.
For example, change:
gem 'sass-rails', '~> 5.0.3'
gem 'uglifier', '>= 1.3.0'
end
To:
gem 'sass-rails', '~> 5.0.3'
gem 'uglifier', '>= 1.3.0'
end```
Solution 12 - Ruby on-Rails
I had the same problem
sass::syntaxerror: file to import not found or unreadable: config/variables.
, I opened a new css file (I called it custom.css) then copied all the css to the file. On application.css I removed the
> @import "config/variables" plus all the other @imports
This worked for me, I hope it does work for you too!
Solution 13 - Ruby on-Rails
make sure you run the following commands after adding this gem to your Gemfile put this inside your Gemfile
gem "bootstrap-sprockets", "~>3.3"
gem "bootstrap"
now stop your server and run the following:
bundle install
rails server
to restart your server. Refresh your browser and you should see changes reflect immediately. In production you may have to run this command to precompile your assets:
bundle exec bin/rake assets:precompile
It worked for me. Hope this was helpful.
Solution 14 - Ruby on-Rails
I was also facing the similar error in development environment:
I solved this problem by-
- In my gemfile, I added them -
gem 'bootstrap', '~> 4.2.1'
gem 'jquery-rails'
-
In application.js file,add these -
//= require jquery3
//= require popper
//= require bootstrap-sprockets
-
In the file with .scss extension, simply add -
@import "bootstrap";
After that, just run bundle install
Solution 15 - Ruby on-Rails
I solved My Issue By Removing
gem 'bootstrap'