【问题标题】:SCSS file not compiling anymoreSCSS 文件不再编译
【发布时间】:2020-08-19 16:10:53
【问题描述】:

直到昨天 Sass 工作正常,现在,Sass 不再编译我的 SCSS 文件了。

这是我迄今为止尝试过的,但没有解决问题:

  1. 卸载当前版本的 Sass 并安装旧版本
  2. 安装最新版本的 Sass
  3. 卸载 Ruby 并安装最新版本
  4. 重新启动我的机器

技术信息:

  • Win7 64b
  • Sass 版本 3.2.3
  • 指南针版本 0.12.2
  • 使用的 CMD 命令:sass --watch scss:css --style compact --compass --debug-info
  • 编辑器:Sublime Text 2

其他信息:

发生的一些奇怪的事情是,如果我在我的 .scss 文件中写了一些不正确的东西,例如一个颜色的四位十六进制值,如 #f00a 然后运行 ​​--watch,Sass 会立即检测到问题并重写有错误的.css 文件。

这意味着 Sass 在某种程度上是部分工作的。

在输入所有--watch 命令后,Sass 启动时通常会说:>>> Sass is watching for changes. Press Ctrl-C to stop.

但是,当我保存 .scss 文件时,Sass 不再编译。它只是停留在那里。

还有其他人遇到过 Sass 停止编译的问题吗?

问题是,现在我无法再处理我的项目了,因为无法再创建 CSS 文件,因此非常感谢您对此提供的任何帮助。

谢谢。

--更新

我仍然无法编译。

但是,在停止 --watch 之后,我在 CMD 中得到了一个巨大的项目列表。在我的家用电脑上,Sass 工作正常,当我停止 --watch 时,我没有得到任何类似这样的列表:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

c:\...\www>sass --watch scss:css --style compact --compass --debug-info --trace
>>> Sass is watching for changes. Press Ctrl-C to stop.

C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/util/multibyte_string_sc anner.rb:36:in `scan': Interrupt from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/util/multibyte_string_scanner.rb:36:in `scan'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:1142:in `tok'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:865:in `value!'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:845:in `declaration'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:568:in `block in declaration_or_ruleset'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:1090:in `block in catch_error'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:1090:in `catch'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:1090:in `catch_error'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:567:in `declaration_or_ruleset'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:540:in `block_child'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:532:in `block_contents'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:521:in `block'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:515:in `ruleset'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:539:in `block_child'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:532:in `block_contents'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:70:in `stylesheet'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/scss/parser.rb:27:in `parse'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/engine.rb:342:in `_to_tree'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/engine.rb:315:in `_render'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/engine.rb:262:in `render'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/plugin/compiler.rb:341:in `update_stylesheet'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/plugin/compiler.rb:203:in `block in update_stylesheets'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/plugin/compiler.rb:201:in `each'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/plugin/compiler.rb:201:in `update_stylesheets'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/plugin/compiler.rb:235:in `watch'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/plugin.rb:107:in `method_missing'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/exec.rb:444:in `watch_or_update'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/exec.rb:307:in `process_result'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/exec.rb:41:in `parse'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/lib/sass/exec.rb:21:in `parse!'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.3/bin/sass:8:in `<top(required)>'
    from C:/Ruby193/bin/sass:23:in `load'
    from C:/Ruby193/bin/sass:23:in `<main>'
Terminate batch job (Y/N)?

CSS 解析器有什么问题吗?

【问题讨论】:

  • 当我使用 vanilla Sass 时,我从来没有遇到过 --watch 及时重新编译的问题。自从我开始使用 Compass 后,我开始注意到您所描述的内容。定期添加额外的虚拟类似乎有所帮助。
  • “添加虚拟类”到底是什么意思?但基本上,你最终是如何解决这个问题的?这件事发生在你身上多久了?我正在尝试确定这是否与新版本或旧版本有关。谢谢。
  • 哦,它没有解决,它仍然不时发生。大约一个月前,我开始使用 Compass。如果没有编译,我只是定期添加一个.test { border: 1px solid },有时它有帮助,有时没有。
  • 使用 Compass 而不是 Sass 重现的错误?尝试以下命令:compass watch --sass-dir scss --css-dir css -s compact --debug-info
  • @piouPiouM 哦,男孩,我希望你的建议有效吗 :( - 但它没有。

标签: sass


【解决方案1】:

我遇到了类似的问题,但使用 Sass 和 Compass。幸运的是,我通过运行compass clean 命令解决了这个问题,该命令删除了.sass-cache 文件和编译的.css 文件。然后再次运行compass --watch 命令。希望这对其他人有帮助。

【讨论】:

  • 这个答案帮助我弄清楚了,即使我没有使用指南针。我只需要删除 .sass-cache 隐藏目录(即“rm -r .sass-cache”),瞧,sass 又开始工作了。
  • 罗盘清理,然后罗盘手表解决了这个问题。非常感谢大家,这不是我第一次遇到这个问题......猜猜如果我阅读指南针文档会有所帮助:D
  • 正如@umesh 一样,我删除了已编译的 .css,还删除了地图文件。
【解决方案2】:

诚然,这对我来说非常愚蠢,但这确实是我在偶然发现这个 stackoverflow Q&A 时遇到的问题。

这是我非常简单的问题的简单答案:

确保您在主 style.scss 文件中 @importing 文件。

显然不是您非常复杂问题的答案,但它可能会帮助一些与我处于相似位置的新手!

【讨论】:

  • 是的,这里是新手 o/ 感谢您为解决我的问题提供的说明 :) :P
【解决方案3】:

我发现了问题:我的 /scss 文件夹中的一个 .scss 文件导致 Sass 停止编译。

“有问题的”文件是项目主 .scss 文件的旧副本,但是当我将该旧版本与最新版本进行比较时,我只发现在属性、值和媒体查询方面存在一些差异代码底部。

除此之外,“有问题”和“正确/工作”文件几乎 98% 完全相同。

在 GitHub 中的项目问题列表中阅读更广泛的答案:https://github.com/nex3/sass/issues/362#issuecomment-11255429

【讨论】:

  • 我不知道为什么,但似乎空格会导致一些问题。它不应该因为 SCSS 应该使用括号。我收到如下错误:“在“...ckground-color:”之后的 CSS 无效:预期的伪类或伪元素是“$background_co...”。很难证明,一旦我删除了所有前导空格,我就无法恢复这些错误!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-03
  • 2017-12-07
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
相关资源
最近更新 更多