sass --watch 在初始启动后不更新(sass 3.1.16)
Posted
技术标签:
【中文标题】sass --watch 在初始启动后不更新(sass 3.1.16)【英文标题】:sass --watch not updating after initial launch (sass 3.1.16) 【发布时间】:2012-05-07 06:25:03 【问题描述】:我正在使用 sass 为我正在开发的一个简单的静态网站编写 css。我已经运行了sass --watch custom.scss:custom.css
,它在启动时编译得很好,并带有以下消息:
Sass 正在关注变化。按 Ctrl-C 停止。
覆盖custom.css
但是,每当我更新 .scss
文件时,什么都没有发生。我以前没有在 Rails 应用程序的上下文之外使用过 SASS,所以我想知道我是否遗漏了什么?
我的 scss 文件也非常简单,所以我怀疑它是否会阻塞任何东西,尤其是因为它在第一次运行时就可以工作。
sass -v
在 Lion 10.7.2 上报告 Sass 3.1.16 (Brainy Betty)
【问题讨论】:
你做了哪些改变?有时我认为如果您没有更改并且只是保存文件,它不会打印任何内容(尽管我怀疑那是您所做的) 3.1.16 中的sass --watch
对我也不起作用(在 Ubuntu、OSX 或 Windows 下 - 3.1.15 工作正常)。在3.1.16 的更改日志中,它列出了“已从 FSSM 移至侦听文件系统监控”。所以也许这破坏了一些东西。
@corroded 我肯定会做出改变 :)
@pjumble - 你是对的,我刚刚安装了监听 gem,现在它可以工作了!奇怪的是它不会说没有安装听。如果您愿意,请给出答案,我可以选择它:)
我之前发布的答案不正确,我也看到了同样的问题。安装 Listen gem 似乎没有帮助,但如果您看到任何警告消息,它可能会消除一些警告消息。
【参考方案1】:
就我而言,问题是因为我在带有 ubuntu 的流浪机器中使用 sass。我直接从我的主机操作系统 (Mac) 安装和运行 sass,然后监视模式开始工作。
【讨论】:
【参考方案2】:我也坚持 sass (v3.4.23) 在第一次运行后不重新编译,但它是用 scss 的文件夹结构实现的 - Sass 可以t 监视由向上指向监视文件的路径定位的文件中的更改。 Link for details
【讨论】:
【参考方案3】:我有一个类似的问题:“检测到更改”,但是尽管它在几天前编译并覆盖了 .css 文件,但没有写入。
注意事项:
在 Ruby 中重新安装 sass 不起作用。
我将 sass --watch 指向了其他一些项目,它们奏效了。
造成这个问题的原因似乎是我在观看一个项目时复制了它,然后开始观看第二个项目。
我不能肯定地说,但这似乎“绊倒”了 Ruby,可能是缓存或一些有关文件位置的存储信息。
解决方案:
我刚刚创建了一个新命名的项目文件夹,将第二个项目的所有scss文件拖入其中,将主scss文件重命名(例如“uikit-main.scss”为“uikit.scss”),--watch ,并且它再次开始正确覆盖。
【讨论】:
【参考方案4】:我当时在使用最新的 SASS 版本时也遇到了这个问题。在 2 台不同的 Windows 8 计算机上降级到 3.2.9 版对我有用。
gem uninstall sass
gem install sass -v 3.2.9
【讨论】:
也解决了我的问题(sass 3.4.21 回滚到 3.2.9)。【参考方案5】:我也有同样的问题。 只需更新我的 gem,它就可以工作。
gem update sass
【讨论】:
【参考方案6】:正如 pjumble 所提到的,这是一个正在处理的已知错误。在新版本发布之前,您可以使用绝对路径来解决这个问题。
为了避免输入完整路径,我通常会这样做:
cd work-directory
sass --watch `pwd`/sass:`pwd`/css
希望这对你有用:)
【讨论】:
【参考方案7】:此问题现已在 latest commit 中得到修复。
更新的稳定版 gem (3.1.17) 尚未发布,但有几个选择等待您:
坚持使用 3.1.16 并在加载手表时使用绝对路径,例如:
sass --watch /User/name/project/scss:/User/name/project/css
该错误应该只发生在相对路径中,因此可以解决它。
使用更新的(alpha)版本
gem install sass --pre
按照@Marco Lazzeri 的建议暂时回滚到 3.1.15
【讨论】:
奇怪的是,安装 listen gem 对我有用,但感谢您的足智多谋的回答!【参考方案8】:同样的问题。
我不知道到底是什么问题,但回滚到以前的版本是一种临时解决方法:
gem uninstall sass -v=3.1.16
gem install sass -v=3.1.15
【讨论】:
以上是关于sass --watch 在初始启动后不更新(sass 3.1.16)的主要内容,如果未能解决你的问题,请参考以下文章