Проблемы с установкой CodeceptJS в Ubuntu

Я настраивал новую систему для использования 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
  • nodejs: 4.7.2
  • нпм: 4.5.0
  • Баш 4.4.5

Кто-нибудь знает причину этой проблемы или как ее обойти?


Просто как обновление, спасибо Артему за заметку о '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.

Буду признателен за любые идеи, предложения или альтернативы, которые есть у кого-либо.

1 ответ

Решение

Ваша вторая проблема связана с устаревшей версией Node. Оператор спреда ... ошибка, которую вы видите) поддерживается в Node 5.12.0 и более поздних версиях: http://node.green/#ES2015-syntax-spread-------operator

Я не уверен, что для вас лучше всего обновить Ubuntu, но это должно решить вашу проблему.

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