要导入的文件未找到或不可读:bootstrap

时间:2013-01-11 12:36:20

标签: ruby-on-rails

我对编程比较陌生,因此我希望这个问题不是绝对愚蠢的。

我的rails应用程序出了问题。

我尝试使用bootstrap。我构建了一个名为“custom.css.scss”的文件,并在其中使用了“@import”bootstrap“”行。

问题是:每次我保存“custom.css.scss”文件时,都会自动生成一个新文件“custom.css”,并收到以下消息:“custom.css.scss要导入的文件未找到或不可读:自举”

有趣的是:当我删除文件“custom.css.scss”并刷新我的浏览器时,一切都很好(这意味着:使用了bootstrap)。

你有什么想法,可能是什么原因?

最诚挚的问候 克里斯

P.S。:这是我安装的宝石文件

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'bootstrap-sass', '2.1'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'jquery-rails', '2.0.2'

group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
  # gem 'guard-rspec', '1.2.1'
  # gem 'guard-spork', '1.2.0'  
  # gem 'spork', '0.9.2'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

group :test do
  gem 'capybara', '1.1.2'
  gem 'factory_girl_rails', '4.1.0'
  gem 'cucumber-rails', '1.2.1', :require => false
  gem 'database_cleaner', '0.7.0'
  gem 'launchy', '2.1.0'
  # gem 'rb-fsevent', '0.9.1', :require => false
  # gem 'growl', '1.0.3'
end

group :production do
  gem 'pg', '0.12.2'
end

custom.css.scss文件看起来像这样

@import "bootstrap";

/* universal */

html {
    overflow-y:scroll
}

body {
    padding-top: 60px
}

section {
    overflow: auto;
}

textarea {
    resize: vertial;
}

.center {
    text-align: center;
}

.center h1 {
    margin-bottom: 10px;
}

/* typography */

h1, h2, h3, h4, h5, h6 {
    line-height: 1
}

h1 {
    font-size: 3em;
    letter-spacing: -2px;
    margin-bottom: 30px;
    text-align: center;
}

h2 {
    font-size: 1.7em;
    letter-spacing: -1px;
    margin-bottom: 30px;
    text-align: center;
    font-weight: normal;
    color: #999;
}

p {
    font-size: 1.1em;
    line-height: 1.7em;
}

8 个答案:

答案 0 :(得分:12)

我遇到了类似的问题,并看到了Habax的解决方案并首先尝试了最后一步。

我刚刚重启了服务器。

结果证明是足够的。希望有所帮助。

答案 1 :(得分:4)

我有类似的问题,我将文件类型从css更改为scss。我敢打赌,如果你从文件名中删除'.css',它就会起作用。

答案 2 :(得分:2)

在新应用程序中遇到同样的问题,但重新启动开发服务器解决了这个问题。

答案 3 :(得分:2)

面临同样的问题。我将custom.css.scss重命名为custom.css 我在Gemfile中指定了ruby的版本。和捆绑安装。 在我的情况下: ruby'2.0.0'

答案 4 :(得分:2)

在使用 Bootstrap 4 Rails 6 应用程序上,我遇到了类似的问题。

问题是我没有在bootstrap.scss文件中指定app/assets/stylesheets/application.scss文件的 node modules 完整路径。

使用以下命令安装 Bootstrap 4 及其依赖项之后:

yarn add bootstrap jquery popper.js

我要做的就是从以下位置进行修改:

@import "bootstrap";

@import 'bootstrap/scss/bootstrap';

然后您可以通过以下方式在boostrap.js文件中添加要求app/javascript/packs/application.js文件:

require("bootstrap");

仅此而已。

我希望这会有所帮助

答案 5 :(得分:1)

我有同样的问题,通过修复bootstrap-sass和sass-rails版本来解决:

gem 'sass-rails', '~> 3.2'
gem 'bootstrap-sass', '~> 2.3.1.0'

然后bundle install和服务器重启。

答案 6 :(得分:1)

我只是想通过我的决议作为参考。我今天也遇到过这个问题。 如果您还使用sccs模式的emacs,它可能会有所帮助。默认情况下,当您保存scss文件时,emacs将自动编译这些scss文件并创建响应的.css文件。那么你只需要删除这些.css文件。或将以下代码放在.emacs作为永久修复

(setq scss-compile-at-save nil) ;; disable the auto-compilation

答案 7 :(得分:1)

我在 scss 文件中遇到了“导入未找到或不可读的文件:bootstrap”的问题。我刚刚通过将“bootstrap-sass”的require语句添加到 config.ru 文件来解决。我的 config.ru 如下所示。

# This file is used by Rack-based servers to start the application.

require ::File.expand_path('../config/environment',  __FILE__)
require 'bootstrap-sass' #require statement of bootstrap-sass
run Rails.application