SyntaxError: Использование const в строгом режиме внутри GitHub и CodeShip.

Я обнаружил следующую ошибку при запуске grunt test внутри моего исходного кода Github/Codeship.

В команде setup внутри CodeShip следующий код настраивается следующим образом.

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

и тестовые команды в коде;

grunt test

Но эта ошибка не обнаружена в моем исходном коде, а фактически обнаружена в github/ CodeShip, просмотрев следующее сообщение об ошибке, выданное 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.

2 ответа

Решение

Потому что структура этих папок не определяется, как мы настраиваем на нашем сервере.

Эта проблема не имеет ничего общего со структурами папок.

Ваш проект в настоящее время использует версию Node 0.12.6 что крайне устарело. Текущая версия LTS узла 6.11.3 и текущая версия 8.6.0,

Конкретная проблема SyntaxError: Use of const in strict mode. Это означает, что используемые вами библиотеки в настоящее время используют синтаксис ES2015 или выше. Основной причиной проблемы является модуль Boom, который использует const в строке 5 (и, скорее всего, другой текущий синтаксис).

Решение вашей проблемы здесь - обновить версию узла, используемую в Codeship.

nvm install 6.11.3
nvm use 6.11.3

Простой способ. просто обновите ваш узел по следующему коду:

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

наслаждаться!

Другие вопросы по тегам