user984621
user984621

Reputation: 48443

Rails + Twitter Bootstrap: File to import not found or unreadable: twitter/bootstrap

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

Upvotes: 18

Views: 23367

Answers (11)

Tamara
Tamara

Reputation: 840

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.

Upvotes: 1

user2748756
user2748756

Reputation: 21

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.

Upvotes: 2

Joseph Juhnke
Joseph Juhnke

Reputation: 882

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!!

Upvotes: 1

Jay Dorsey
Jay Dorsey

Reputation: 3662

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.

Upvotes: 1

MC2DX
MC2DX

Reputation: 572

Did you try to compile the assets ?

    rake assets:precompile

Upvotes: 1

beydogan
beydogan

Reputation: 1110

Try adding

gem 'sass-rails'

to your Gemfile

Upvotes: 0

Harvey Katrina
Harvey Katrina

Reputation: 898

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

Upvotes: 36

dantheta
dantheta

Reputation: 1107

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.

Upvotes: 3

jquintana
jquintana

Reputation: 1559

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)

Upvotes: 6

user984621
user984621

Reputation: 48443

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.

Upvotes: 1

Bajirao Pheshwe
Bajirao Pheshwe

Reputation: 494

add following gem in asset group and bundle install

gem "therubyracer"
gem "less-rails"
gem "twitter-bootstrap-rails"

Upvotes: 0

Related Questions