Sass :: SyntaxError:导入未找到或不可读的文件:bootstrap-sprockets

时间:2014-10-01 06:11:10

标签: ruby-on-rails twitter-bootstrap

我在开发和部署生产中突然遇到此错误。

custom.css.scss

@import "bootstrap-sprockets";
@import "bootstrap";

错误(正在制作中)

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

16 个答案:

答案 0 :(得分:89)

更改Gemfile后,请不要忘记使用rails s

重新启动服务器

重新启动rails服务器就像一个魅力! :d

答案 1 :(得分:28)

我通过升级bootstrap-sass解决了这个问题

gem 'bootstrap-sass', '3.2.0.2'

答案 2 :(得分:12)

请在Gemfile中的每次更改

后重新启动rails服务器
rails server

答案 3 :(得分:9)

确保您没有

gem 'bootstrap'  # Remove this line
gem 'bootstrap-sass'

应该只是

gem 'bootstrap-sass'

答案 4 :(得分:5)

我按照以下步骤解决了这个问题:

  1. 列表项
  2. 在我的“app / assets / stylesheets /(它丢失了)”中复制“bootstrap.css”
  3. gem install autoprefixer-rails(也修改Gemfile)
  4. gem install sprockets(也修改Gemfile)
  5. 捆绑安装
  6. RESTART服务器(不只是刷新页面)

答案 5 :(得分:3)

这就是我解决问题的方法。

转到Bootstrap for Sass Github page并按照说明操作:

  1. 将以下内容添加到Gemfile

    gem' bootstrap-sass','〜> 3.3.6' gem' sass-rails','> = 3.2'

  2. 运行命令 bundle install

  3. 启动/重启服务器

    rails s

  4. 此外,请确保该文件具有.scss扩展名(或Sass语法的.sass)。如果您刚刚生成了一个新的Rails应用程序,它可能会附带一个.css文件。如果此文件存在,则将提供该文件而不是Sass,因此将其重命名。 然后,删除所有* = require_self和* = require_tree。来自sass文件的语句。相反,使用@import导入Sass文件。

答案 6 :(得分:2)

我观察到了同样的行为。在我的情况下,我删除了宝石'bootstap-sass'的版本,它的工作原理。可能存在导致问题的gem版本的兼容性问题。

宝石文件

gem 'bootstrap-sass'

在gem文件中进行更改后,执行以下命令:

bundle install

如果服务器已在运行,请通过“ CTRL + C ”停止服务器并再次启动服务器

rails s

答案 7 :(得分:2)

在您的Gemfile中,您需要添加bootstrap-sass gem,并确保存在sass-rails gem-默认情况下将其添加到新的Rails应用程序中。

gem 'bootstrap-sass', '3.3.7'
gem 'sass-rails', '5.0.6'
gem 'rails', '5.0.0'

捆绑安装并重新启动服务器,以使文件可通过管道使用。 在 app / assets / stylesheets / application.scss中导入Bootstrap样式:

// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap-sprockets";
@import "bootstrap";
必须在引导程序之前导入

bootstrap-sprockets,图标字体才能起作用。 确保文件具有.scss扩展名(或Sass语法为.sass)。如果您刚刚生成了一个新的Rails应用程序,则它可能带有.css文件。如果此文件存在,将代替Sass投放该文件,因此将其重命名:

  

$ mv app / assets / stylesheets / application.css 收件人:   app / assets / stylesheets / application.scss

然后,从sass文件中删除所有*= require_self*= require_tree .语句。而是使用@import导入Sass文件。 例如

*= require_tree .
*= require_self

收件人:

@import require_tree .
@import require_self

请勿在Sass中使用*= require,否则您的其他样式表将无法访问Bootstrap mixins或变量。 引导JavaScript取决于jQuery。如果您使用的是Rails 5.1+,请将jquery-rails gem添加到您的Gemfile中:

gem 'jquery-rails'

$ bundle install

需要

中的Bootstrap Javascript
  

app / assets / javascripts / application.js:

//= require jquery
//= require bootstrap-sprockets

bootstrap-sprocketsbootstrap不应同时包含在

  

application.js

bootstrap-sprockets提供了各个Bootstrap Javascript文件(例如,alert.js或dropdown.js),而bootstrap提供了一个包含所有Bootstrap Javascripts的串联文件。

这将纠正错误

Copied @github

答案 8 :(得分:1)

此错误主要出现在rails 3.2.x版本中。 如果您使用的是rails 3.2版,则必须在gem文件中指定一个特殊版本,如下所示:

gem 'rails', '3.2.0'
gem 'bootstrap-sass', '3.2.0.2'

它将解决rails -v '3.2.0'

的问题

答案 9 :(得分:1)

把它放在宝石文件中

gem 'bootstrap-sass', '~> 3.3.5'
gem 'sass-rails', '>= 3.2'

然后运行$ bundle install

重启服务器。

答案 10 :(得分:1)

如果在运行集成测试时收到此消息,请确保您的资产宝石包含在测试组中。

例如,更改:

group :assets do gem 'sass-rails', '~> 5.0.3' gem 'uglifier', '>= 1.3.0' end

要:

group :assets, :test do gem 'sass-rails', '~> 5.0.3' gem 'uglifier', '>= 1.3.0' end

答案 11 :(得分:1)

我遇到了同样的问题

sass::syntaxerror: file to import not found or unreadable: config/variables.

,我打开了一个新的css文件(我称之为custom.css),然后将所有css复制到了该文件。在application.css上,我删除了

  

@import“配置/变量”以及所有其他@imports

这对我有用,我希望它对您也有用!

答案 12 :(得分:0)

确保在将此gem添加到Gemfile后运行以下命令 把它放在Gemfile中

    gem "bootstrap-sprockets", "~>3.3"
    gem "bootstrap"

现在停止服务器并运行以下命令:

    bundle install
    rails server

重新启动服务器。刷新浏览器,您应该立即看到更改。 在生产中,您可能必须运行此命令来预编译资产:

    bundle exec bin/rake assets:precompile

它对我有用。希望这有用。

答案 13 :(得分:0)

我遇到了同样的问题,但是我已经解决了,您只需要像这样在开发组中添加gem bootstrap-sass

    group :development do
    gem 'bootstrap-sass'
    end

我希望这会有所帮助

答案 14 :(得分:0)

我在开发环境中也遇到类似的错误:

Error Image

我通过-

解决了这个问题
  1. 在我的gemfile中,我添加了它们-

    gem'bootstrap','〜> 4.2.1'

    gem'jquery-rails'

  2. 在application.js文件中,添加这些-

    // =需要jquery3

    // =需要弹出窗口

    // =需要引导链轮

  3. 在扩展名为 .scss 的文件中,只需添加-

    @import“ bootstrap”;

    之后,只需运行捆绑安装

答案 15 :(得分:-1)

我通过删除解决了我的问题

gem 'bootstrap'