SyntaxError: Use of const in strict mode inside github and codeship

SyntaxError: Use of const in strict mode inside github and codeship

我在源代码 Github/Codeship.

中 运行 grunt test 时发现以下错误

在codeship里面的setup命令中,下面的代码是这样配置的。

nvm install 0.12.6
nvm use 0.12.6
npm install grunt-cli bower -g
npm install
bower install -p
npm run update-webdriver

并在 codeship 中测试命令;

grunt test

但是在我的源代码中没有发现该错误,实际上通过查看 codeship 给出的以下错误消息在 github/codeship 中发现了该错误。因为这些文件夹结构没有按照我们在服务器中配置的那样定义。请帮助我如何解决它。谢谢

Using 2 x hasMany to represent N:M relations has been deprecated. Please use belongsToMany instead
>> Mocha exploded!
>> /home/rof/src/github.com/MyProjects/node_modules/sparkpost/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js:5
>> const Hoek = require('hoek');
>> ^^^^^
>> SyntaxError: Use of const in strict mode.
>>     at exports.runInThisContext (vm.js:73:16)
>>     at Module._compile (module.js:443:25)
>>     at Object.Module._extensions..js (module.js:478:10)
>>     at Module.load (module.js:355:32)
>>     at Function.Module._load (module.js:310:12)
>>     at Module.require (module.js:365:17)
>>     at require (module.js:384:17)
>>     at Object.<anonymous> (/home/rof/src/github.com/MyProjects/node_modules/sparkpost/node_modules/request/node_modules/hawk/lib/index.js:5:33)
>>     at Module._compile (module.js:460:26)
>>     at Object.Module._extensions..js (module.js:478:10)
>>     at Module.load (module.js:355:32)
>>     at Function.Module._load (module.js:310:12)
>>     at Module.require (module.js:365:17)
>>     at require (module.js:384:17)
>>     at Object.<anonymous> (/home/rof/src/github.com/MyProjects/node_modules/sparkpost/node_modules/request/request.js:9:12)
>>     at Module._compile (module.js:460:26)
Warning: Task "mochaTest:src" failed. Use --force to continue.

Because those folder structure is not defined as we configure in our server.

此问题与文件夹结构无关。

您的项目当前使用的节点版本 0.12.6 已经过时了。 Node 的当前 LTS 版本是 6.11.3,当前版本是 8.6.0

具体问题是 SyntaxError: Use of const in strict mode.,这意味着您正在使用的库当前使用的是 ES2015 语法或更高版本。问题的根本原因在于 Boom 模块,该模块在第 5 行使用了 const(很可能还有其他当前语法)。

此处针对您的问题的解决方案是更新 Codeship 中使用的节点版本。

nvm install 6.11.3
nvm use 6.11.3

简单的方法。只需通过以下代码升级您的节点:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

尽情享受吧!