【问题标题】:sass --watch not updating after initial launch (sass 3.1.16)sass --watch 在初始启动后不更新(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 似乎没有帮助,但如果您看到任何警告消息,它可能会消除一些警告消息。

标签: css ruby sass


【解决方案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) 尚未发布,但有几个选择等待您:

            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

            【讨论】:

            • 奇怪的是,安装 listen gem 对我有用,但感谢您的足智多谋的回答!
            【解决方案8】:

            同样的问题。

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

            gem uninstall sass -v=3.1.16
            gem install sass -v=3.1.15
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-11-02
              • 2014-08-03
              • 1970-01-01
              • 1970-01-01
              • 2012-02-17
              • 1970-01-01
              • 2011-04-16
              相关资源
              最近更新 更多