我如何在Node 5.6.0环境中运行Node 6 npm包?

我目前正在使用一个运行跨浏览器JavaScripttesting的软件包,称为easy-sauce 。 简而言之,我的package.json文件调用test命令:

 { "scripts": { "test": "easy-sauce" } } 

当我使用Node 6环境,并运行npm test ,一切正常。 但是,我使用的项目仍然需要Node 5.6.0。 当我在这个环境中运行npm test时,我看到以下错误:

 /data/projects/easytest/node_modules/easy-sauce/lib/cli.js:114 function formatResult(result = {}) { ^ SyntaxError: Unexpected token = at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:387:25) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:16:19) at Object.<anonymous> (/data/projects/easytest/node_modules/easy-sauce/bin/easy-sauce:6:13) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) 

有没有一种方法可以在Node 5.6.0环境下工作?

这个错误与easy-sauce包没有关系,它与你的版本节点有关。

根据node.green,在版本6.2.2中添加了默认参数

http://node.green/

不幸的是,你将无法运行节点5中的代码。缺省参数在节点6.2中,因此出现错误。

选项1升级您的节点/ npm的版本。 这并不总是可能的,这取决于部署环境。

选项2您需要使用转换器(例如Babel)将ES6代码转换为ES5并引用构build的脚本。 这个解决scheme是您始终有能力做的。

选项3叉/更新easy-sauce包括一个编译器build立一个ES5版本(在dist文件夹是一个共同的目的地)。 包的package.json可以被定向到这个位置。