在 Travis 中出现 stylelint 错误,但在本地却没有

Getting stylelint errors in Travis but not locally

我已经设置 a little repo with my own CSS code style。 在这个 repo 中,我设置了一个最小的 stylelint 配置,只是为了检查我没有关于未知规则的错误,没有更多支持的规则等。

当我 运行 我的 $ npm check 在本地时,它 运行 就好了。

但是 Travis-ci 把我扔了 the following errors:

> alb-stylelintrc@0.2.0 test /home/travis/build/alienlebarge/stylelintrc
> gulp lint:css


/home/travis/build/alienlebarge/stylelintrc/node_modules/stylelint/dist/rules/indentation/index.js:232
var hierarchyMap = new Map();
                       ^
ReferenceError: Map is not defined
    at Object.<anonymous> (/home/travis/build/alienlebarge/stylelintrc/node_modules/stylelint/dist/rules/indentation/index.js:232:24)
    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 Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/travis/build/alienlebarge/stylelintrc/node_modules/stylelint/dist/rules/index.js:227:20)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
[37m[40mnpm[0m [0m[31m[40mERR![0m[35m[0m Test failed.  See above for more details.
[0m
travis_time:end:0581a9e8:start=1460117969543196000,finish=1460117970835293872,duration=1292097872
[0K
[31;1mThe command "npm test" exited with 1.[0m

Done. Your build exited with 1.

它似乎与缩进有关

"indentation": [
        4, {
          ignore: ["value", "param"]
        }
    ],

但是我想不通是什么问题。

也许有人可以帮助我。

Map is not defined 表示您 运行 使用的节点版本与 stylelint 不兼容。 stylelint 在 Node 版本 0.12、4 和 5 (https://github.com/stylelint/stylelint/blob/master/.travis.yml) 上进行了测试;所以我猜你的 Travis 版本是 运行 Node 0.10。如果您在 .travis.yml 中指定 Node 版本,我想这个错误会消失。