10

我正在与 sass 一起为我正在开发的一个简单的静态网站编写 css。我已经运行sass --watch custom.scss:custom.css它在启动时编译得很好,并带有以下消息:

Sass 正在观察变化。按 Ctrl-C 停止。

覆盖custom.css

但是,每当我更新.scss文件时,什么都没有发生。我以前没有在 Rails 应用程序的上下文之外使用过 SASS,所以我想知道我是否遗漏了什么?

我的 scss 文件也非常简单,所以我怀疑它是否会阻塞任何东西,尤其是因为它在第一次运行时就可以工作。

sass -v报告Sass 3.1.16 (Brainy Betty),关于 Lion 10.7.2

4

8 回答 8

8

这已在最新的提交中得到修复。

更新的稳定版 gem (3.1.17) 尚未发布,但您等待时有几个选择:

  1. 坚持使用 3.1.16 并在加载手表时使用绝对路径,例如:

    sass --watch /User/name/project/scss:/User/name/project/css
    

    该错误应该只发生在相对路径中,因此可以解决它。

  2. 使用更新的 (alpha) 版本

    gem install sass --pre
    
  3. 按照@Marco Lazzeri 的建议暂时回滚到 3.1.15

于 2012-04-28T23:39:31.933 回答
2

这里同样的问题。

我不知道到底是什么问题,但回滚到以前的版本是一种临时解决方法:

gem uninstall sass -v=3.1.16
gem install sass -v=3.1.15
于 2012-04-27T16:55:25.017 回答
2

正如pjumble所提到的,这是一个已知的过程中的错误。在新版本发布之前,您可以使用绝对路径来解决此问题。

这是我通常会避免输入完整路径的方法:

cd work-directory
sass --watch `pwd`/sass:`pwd`/css

希望这对你有用:)

于 2012-06-20T07:48:49.177 回答
1

我也有同样的问题。只需更新我的宝石,它就起作用了。

gem update sass
于 2014-09-05T10:22:24.940 回答
1

此时我的最新 SASS 版本也遇到了这个问题。在 2 台不同的 Windows 8 计算机上,降级到 3.2.9 版对我有用。

gem uninstall sass
gem install sass -v 3.2.9
于 2014-10-04T11:19:48.990 回答
1

我有一个类似的问题:“检测到更改”,但是尽管它在几天前编译并覆盖了 .css 文件,但没有写入。

笔记:

  • 在 Ruby 中重新安装 sass 不起作用。

  • 我将 sass --watch 指向了其他一些项目,它们奏效了。

  • 造成这个问题的原因似乎是我在观看一个项目时复制了它,然后开始观看第二个项目。

  • 我不能肯定地说,但这似乎“绊倒”了 Ruby,可能是缓存或有关文件位置的一些存储信息。

解决方案:

我刚刚创建了一个新命名的项目文件夹,将第二个项目中的所有 scss 文件拖入其中,将主 scss 文件重命名(例如“uikit-main.scss”为“uikit.scss”),--watch 它,它再次开始正确覆盖。

于 2016-03-03T18:22:59.667 回答
0

我还坚持使用 sass (v3.4.23) 在第一次运行后不重新编译,但它是用 scss 的文件夹结构实现的 - Sass无法观察通过指向观看文件的路径定位的文件的变化。 链接了解详情

于 2017-05-12T10:30:22.477 回答
0

就我而言,问题是因为我在带有 ubuntu 的流浪机器中使用 sass。我直接从我的主机操作系统 (Mac) 安装和运行 sass,并且手表模式开始工作。

于 2017-08-10T23:50:03.710 回答