3

我正在设置一个新系统来使用 CodeceptJS 并遇到了问题。我遵循了这些说明,但在尝试运行 codeceptjs 时却出现错误。错误是...

codeceptjs
/usr/local/lib/node_modules/codeceptjs-webdriverio/node_modules/codeceptjs/lib/mocha_factory.js:6
let mocha;
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/codeceptjs-webdriverio/node_modules/codeceptjs/lib/container.js:5:20)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

我的 node.js 和 npm 通过普通的 apt-get 和 npm -g 全局安装

系统信息...

  • Ubuntu 17.04 x86_64
  • 节点:4.7.2
  • npm:4.5.0
  • 重击 4.4.5

有谁知道这个问题的原因或如何解决它?


作为更新,感谢 artem 的注释,'use strict';我将其添加到 node_modules/codeceptjs/lib/mocha_factory.js 的顶部,我认为这让我克服了最初的问题。但是,我现在似乎遇到了 node_modules/codeceptjs/lib/output.js 中的问题。错误是...

codeceptjs
/usr/local/lib/node_modules/codeceptjs-nightmare/node_modules/codeceptjs/lib/output.js:139
function print(...msg) {
               ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/codeceptjs-nightmare/node_modules/codeceptjs/lib/event.js:3:11)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

...我尝试了一些方法来解决这个问题,在那里调整了打印功能,但还没有运气。

这似乎与 codeceptjs-nightmare 和 codeceptjs-webdriverio 元包相同。

对于任何人的任何想法、建议或替代方案,我将不胜感激。

4

1 回答 1

2

您的第二个问题是因为 Node 版本过时。Node 5.12.0 及更高版本支持扩展运算符(...您看到的错误):http: //node.green/#ES2015-syntax-spread-------operator

我不确定使用 Ubuntu 进行升级的最佳方式是什么,但这应该可以解决您的问题。

于 2017-05-05T22:55:14.083 回答