我正在使用的构建脚本:
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="sass">
<target name="sass">
<apply dest="./sass" executable="sassy.bat">
<srcfile />
<targetfile />
<mapper from="*.scss" to="*.css" type="glob"/>
<fileset dir="./sass" includes="**/*.scss" />
</apply>
</target>
</project>
它工作得很好,条件是我在%%PATH%%
上有这个外部sassy.bat
脚本。
sass %1 %2
编译sass/*.scss
文件,并将*.css
文件放入同一目录。然而,如果我不使用sassy.bat
,而只使用sass.bat
,它会产生:
ruby.exe: Is a directory -- C:/project/sass (LoadError)
但理论上它应该运行相同的东西。知道我哪里做错了吗?
我最近终于解决了这个问题。第一步是确保构建器被设置为使用"独立的JRE"(Zend Studio的)。第二步是更新我的构建文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="sass">
<target name="sass">
<exec osfamily="windows" vmlauncher="false" executable="sass">
<arg value="--update" />
<arg value="scss/:css/" />
<arg value="--style=compressed" />
</exec>
</target>
</project>
关键是在Windows上将vmlauncher
属性设置为false
。