18

I am trying to set up Rails app with Twitter Bootstrap (the gem twitter-bootstrap-rails), but I still cannot get over the error

File to import not found or unreadable: twitter/bootstrap.

I found this issue on official Github of the gem, but none of solution from there have worked for me. Here's my setup: Gemfile

gem "twitter-bootstrap-rails"
gem 'font-awesome-rails'
gem 'sass-rails',   '~> 3.2.3'
group :assets do
  #gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'therubyracer', :platforms => :ruby
  gem 'uglifier', '>= 1.0.3'
end

application.css

 *= require_self
 *= require bootstrap_and_overrides
 *= require font-awesome
 *= require_tree .

bootstrap_and_overrides.css.sass

@import "twitter/bootstrap";
@import "twitter/bootstrap/bootstrap";
@import "twitter/bootstrap/responsive";

// Font Awesome
@import "fontawesome";

// Glyphicons
@import "twitter/bootstrap/sprites.scss";

What am I missing for correct set up?

Thanks

user984621
  • 46,344
  • 73
  • 224
  • 412
  • did you run `rails generate bootstrap:install` ? – muttonlamb Apr 03 '13 at 10:43
  • Yes, I have ran `rails generate bootstrap:install`, but it didn't help me. – user984621 Apr 03 '13 at 11:57
  • Apologies for not getting the semantics right, I thought my answer was a solution. Anyway, couple of other things, in my app I have the file as bootstrap_and_overrides.css.less, rather than sass. I also have `gem 'less-rails'`. Finally, I have a require in the application.js `//= require twitter/bootstrap`. One thing I do not have, is `@import "twitter/bootstrap";` – muttonlamb Apr 03 '13 at 12:04
  • I've tried it with SASS and LESS as well, but the same result. I noticed that if I used this version of gem: `gem 'twitter-bootstrap-rails', '~> 2.0.1.0'`, then it's working. But there is occurring another issue - the old javascript. – user984621 Apr 03 '13 at 12:51
  • This file name looks incorrect "bootstrap_and_overrides.css.sass". It should be a scss file? – Rimian Apr 29 '13 at 00:31
  • I had the same issue. It worked making the import of bootstrap from application.css.scss – rhernando Feb 04 '14 at 17:48

11 Answers11

36

we had the same problem, i just restarted the rails server and it worked

Harvey Katrina
  • 898
  • 1
  • 8
  • 14
  • Sometimes, it's the small simple things that give me headaches in rails. Thanks for this reminder – dsrees Mar 30 '14 at 23:37
6

If you already attempted to shut down the server and restart it, then your problem may be the cached css file that is generated from your sass file. The reason for this may be some varient of live reload which pre-renders several of the scss/haml type files. If that isn't the case then

  1. Read the error message and determine the scss file that is causing the error.
  2. Locate the css file that is generated along the sass file, (i.e. custom.css.scss would generate custom.css).
  3. Delete that file, refresh the page and if this files delete the entire cache found under assets/stylesheets and temp/cache)
jquintana
  • 1,559
  • 1
  • 10
  • 6
3

For some reason I had to explicitly require the gem to get it working. As suggested in this github issue comment to fix a similar error with bootstrap-sass, it's likely the gem is not loaded automatically. Add require "twitter-bootstrap-rails to e.g config/application.rb file to explicitly require it.

dantheta
  • 1,107
  • 2
  • 13
  • 29
2

Downgrade the bootstrap-sass gem to v2.3.2 like so: gem 'bootstrap-sass', '2.3.2'

I had done a bundle upgrade which upgraded the bootstrap gem. This (version downgrade) fixed the problem for me.

1

The way how I made it work was simply changing the Twitter Bootstrap gem - I used the bootstrap-sass gem, where is set up everything as is described on the Github page and I didn't find any problem with.

user984621
  • 46,344
  • 73
  • 224
  • 412
1

Did you try to compile the assets ?

    rake assets:precompile
MC2DX
  • 562
  • 1
  • 7
  • 19
1

I solved this issue by adding gem 'bootstrap-sass', '3.0.2.1' in my Gemfile (per the recent docs). Make sure you run bundle install afterwards.

Jay Dorsey
  • 3,563
  • 2
  • 18
  • 24
1

I found this response as I was searching for a problem with Michael Hartl's RailsTutorial.org program. I had inadvertently allowed the sprockets gem to be upgraded to 2.12.1 (it was locked in Gemfile.lock). Force downgrading it to 2.11.0 fixed this error and allowed the older bootstrap-sass (2.3.2.0) gem to work correctly.

Back to learning!!

Joseph Juhnke
  • 854
  • 9
  • 9
1

Nothing here worked for me. I gave up, downloaded Bootstrap itself, put the files in my assets, and included them in my CSS. That fixed it.

Tamara
  • 840
  • 7
  • 12
0

add following gem in asset group and bundle install

gem "therubyracer"
gem "less-rails"
gem "twitter-bootstrap-rails"
Bajirao Pheshwe
  • 504
  • 2
  • 10
  • I've tried this already, but still the same, don't understand why the app cannot find the Bootstrap stuff. At the moment trying `bootstrap-sass` gem. – user984621 Apr 03 '13 at 12:34
0

Try adding

gem 'sass-rails'

to your Gemfile

beydogan
  • 1,102
  • 1
  • 11
  • 23