fex-team / fis-parser-sass

A parser plugin for fis to compile sass file.
MIT License
16 stars 12 forks source link

安装时报错 #6

Closed qdsang closed 10 years ago

qdsang commented 10 years ago

sudo npm install -g fis-parser-sass

安装报这错误

> fis-sass@0.1.7 install /usr/local/lib/node_modules/fis-parser-sass/node_modules/fis-sass
> node build.js

module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: Module version mismatch. Expected 11, got 10.
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/fis-parser-sass/node_modules/fis-sass/build.js:31:11)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
npm ERR! weird error 8
npm ERR! not ok code 0
qdsang commented 10 years ago

require('./lib/darwin-x64/0.9.7/binding.node') node v0.10.7 报错 @2betop

2betop commented 10 years ago

@qdsang 我看看

2betop commented 10 years ago

hi @qdsang,应该加载0.9.11才对啊,你确定加载的是0.9.7 ?

qdsang commented 10 years ago

@2betop

function greaterThanOrEqual(a, b) {
    return parseInt(a.replace(/\./g, '00')) >=
        parseInt(b.replace(/\./g, '00'));
}
greaterThanOrEqual('0.10.7','0.9.11')

返回false

这逻辑有问题

2betop commented 10 years ago

@qdsang 不对啊,这个老代码,新代码是这样些的:

function versionCompare(left, right) {
        if (typeof left + typeof right != 'stringstring')
            return false;

        var a = left.split('.'),
            b = right.split('.'),
            i = 0,
            len = Math.max(a.length, b.length);

        for (; i < len; i++) {
            if ((a[i] && !b[i] && parseInt(a[i], 10) > 0) || (parseInt(a[i], 10) > parseInt(b[i], 10))) {
                return 1;
            } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i], 10) < parseInt(b[i], 10))) {
                return -1;
            }
        }

        return 0;
    }
2betop commented 10 years ago

我检查下npm里面的代码

qdsang commented 10 years ago

@2betop https://github.com/2betop/fis-sass/blob/master/build.js#L9-L12 github仓库里面最新的代码好像就不是最新的

fis-sass 在npm中发布的最新版本是0.1.7,包里面也是旧的 再发布一个版本吧

qdsang commented 10 years ago

哦。 你估计是看的index.js的代码。 现在是安装的时候build.js文件里面报错了。

2betop commented 10 years ago

好的,我知道原因了,多谢反馈,一会就更新,这会meeting

fouber commented 10 years ago

@2betop 需要我发版么?

2betop commented 10 years ago

@fouber 你可以加我owner哈哈,等会吧,还没改代码!

fouber commented 10 years ago

@2betop 已加

2betop commented 10 years ago

@qdsang 请再试一次。谢谢!

qdsang commented 10 years ago

@2betop 已经安装成功了, 3Q 不支持sass语法吗?

2betop commented 10 years ago

支持啊,直接包装了一下libsass, c++代码,试过没问题啊! 具体什么语法?

2betop commented 10 years ago

如图 image

qdsang commented 10 years ago

@2betop 这是sass

@import "compass/utilities"
@import "compass/css3"

.header
    position: relative
    background-color: #fff
    +box-shadow((2em/20) (2em/20) 0 #f6f6f6)

这是scss

@import "compass/utilities";
@import "compass/css3";

.header{
    position: relative;
    background-color: #fff;
    @include box-shadow(2em / 20 2em / 20 0 #f6f6f6);
}
2betop commented 10 years ago

哦,我知道了,这个不支持sass, 只支持scss.

2betop commented 10 years ago

我们说的sass通常都是指scss,我看http://sass-lang.com/guide 这上面也只介绍了scss语法,sass语法应该需求量不大