在我与终端交互之前,警卫不会检测文件更改

时间:2013-08-01 13:26:11

标签: ruby gem sass readline guard

我正在尝试让Guard在我使用SASS文件时检测文件系统更改。我希望它们被编译为CSS。每次我做出改变时,想要与终端进行交互。它应该自动发生。现在,我必须在终端按Enter键才能进行编译。

当我gem query --loacl时,我得到了这个:

coderay (1.0.9)
ffi (1.8.1)
formatador (0.2.4)
guard (1.8.0)
guard-sass (1.1.0)
listen (1.0.3)
lumberjack (1.0.3)
method_source (0.8.1)
pry (0.9.12.1)
rb-fsevent (0.9.3)
rb-inotify (0.9.0)
rb-kqueue (0.2.0)
sass (3.2.9, 3.2.8)
slop (3.4.4)
thor (0.18.1)

我应该注意,这最终将是Samba共享上的guard init;该目录不在我的物理机器上,但我正在我的本地硬盘上进行测试。

为了初始化防护项目,我在我的'Portfolio'目录上做了guard init然后guard。这是我的目录结构:

-- Portfolio
    -- sass
    -- css
    -- Guardfile (file)

这是我的警卫档案的内容:

# A sample Guardfile
# More info at https://github.com/guard/guard#readme

guard 'sass', :input => 'sass', :output => 'css'

我读过一些关于Ruby是针对libedit而不是readline编译的东西。如何检查这是否是问题?

1 个答案:

答案 0 :(得分:3)

事实上,问题似乎是Ruby没有使用readline。我不是Ruby专家,所以我不确定这是不是问题。我做了follow the directions here并安装了Ruby版本管理器(RVM)并重新安装了Ruby到版本1.9.3(虽然我认为我可以使用最新的2.0.0)并重新安装了后卫和后卫sams宝石,现在我的文件系统更改正在自动检测。