当我尝试使用less-rhino使用gradle的lesscss插件编译较少的css时出现此错误。 我试过不同的java版本,不同的rhino版本,甚至尝试将我的操作系统升级到OS X Yosemite。什么都没有帮助。 使用lessc命令行(npm)可以工作。
org.lesscss.LessException: org.mozilla.javascript.EcmaError: TypeError: Cannot find function bind in object
function _math(fn, unit, n) {
if (!(n instanceof tree.Dimension)) {
throw {type:"Argument", message:"argument must be a number"};
}
if (unit == null) {
unit = n.unit;
} else {
n = n.unify();
}
return new (tree.Dimension)(fn(parseFloat(n.value)), unit);
}
. (jar:file:.../lesscss-1.7.0.1.1.jar!/META-INF/less-rhino-1.7.0.js#2926)
答案 0 :(得分:2)
所以我终于得到了答案:
必须删除旧的
/Library/Java/Extensions/js.jar
文件,因为它包含rhino 1.7 R2
(不知怎的,它比你的类路径上的版本更强)
答案 1 :(得分:0)
我运行了依赖:树,发现了两个maven版本,所以排除了旧版本。
<exclusion>
<artifactId>js</artifactId>
<groupId>rhino</groupId>
</exclusion>