Использование ошибки const в строгом режиме в приложении «Действия в Google» после обновления пакетов Node.js?

У меня есть приложение Google Home на основе Node.JS (версия 8.6), которое использует клиентскую библиотеку Actions on Google Javascript. Он собрался и работает нормально уже несколько дней. Я добавил несколько пакетов в проект, и вдруг я начинаю получать следующую фатальную ошибку в клиентской библиотеке Actions on Google Javascript, несмотря на то, что код в этой библиотеке не был тронут:

/**
 * The Actions on Google client library.
 * https://developers.google.com/actions/
 */

'use strict';

const AssistantApp = require('./assistant-app');
^^^^^
SyntaxError: Use of const in strict mode.
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/roschler/Documents/GitHub/YourMD/google-assistant/morse-integration/routes/fulfillment.js:16:21)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

Я никогда не получал эту ошибку раньше. Ниже приведен мой файл package.json:

{
  "name": "test",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "aws-sdk": "^2.3.17",
    "actions-on-google": "^1.4.0",
    "archiver": "^1.3.0",
    "body-parser": "~1.13.3",
    "bluebird": "^3.4.0",
    "cookie-parser": "~1.3.5",
    "config": "^1.21.0",
    "debug": "~2.2.0",
    "express": "~4.13.1",
    "glob": "~7.0.3",
    "http-status-codes": "~1.0.6",
    "jade": "~1.11.0",
    "jsonfile": "~2.2.3",
    "marked": "^0.3.5",
    "morgan": "~1.6.1",
    "pg": "^6.1.4",
    "redis": "^2.6.1",
    "request": "^2.72.0",
    "scribe-js": "~2.0.4",
    "serve-favicon": "~2.3.0",
    "showdown": "^1.7.1",
    "simple-spinner": "0.0.5",
    "ssl-root-cas": "~1.2.2",
    "underscore": "^1.8.3"
  }
}

Кто-нибудь знает, почему это происходит и что я могу сделать, чтобы это исправить? Я попытался обновить свою версию Node.JS в соответствии с принятым ответом в сообщении о переполнении стека ниже относительно аналогичной ошибки, но это не помогло:

SyntaxError: использование const в строгом режиме?

Я все еще получаю сообщение об ошибке.

ОБНОВЛЕНИЕ: я забыл, что также обновился с Node 7.2 до 8.6. Я считаю, что теперь это то, что вызывает мои проблемы. Я занимаюсь полной очисткой Node.js, а затем устанавливаю nvm, чтобы протестировать версии.


person Robert Oschler    schedule 13.10.2017    source источник
comment
Какая версия ноды?   -  person Mark    schedule 14.10.2017
comment
Какие строки находятся непосредственно перед require()?   -  person Prisoner    schedule 14.10.2017
comment
@Mark_M Версия 8.6.   -  person Robert Oschler    schedule 14.10.2017
comment
@Prisoner - я только что добавил их в свой пост. В значительной степени просто «используйте строгость» и несколько комментариев перед этим. Как я уже сказал, я не трогал код в этом файле.   -  person Robert Oschler    schedule 14.10.2017
comment
Все признаки указывают на то, что вы на самом деле не получаете узел v8.6 при запуске приложения и имеете более старую версию, которая вызывает это.   -  person jfriend00    schedule 14.10.2017
comment
@jfriend00 Я думаю, что все наоборот. Все мои беды начались, когда я обновился с 7.2 до 8.6. Я собираюсь сделать полную очистку и установить nvm, а затем вернуться к более старой версии, чтобы посмотреть, что произойдет.   -  person Robert Oschler    schedule 14.10.2017
comment
Я довольно сомневаюсь, что 8.x нарушил использование const. Возможно, что-то пошло не так с вашим процессом обновления. Вероятно, также стоит исключить какую-то другую причину, создав простой тестовый файл, в котором больше ничего нет, кроме этой проблемы.   -  person jfriend00    schedule 14.10.2017
comment
Для действий в Google вы должны использовать LTS-версию nodejs, то есть 6.x.   -  person Wolfram Rittmeyer    schedule 17.10.2017
comment
@WolframRittmeyer Спасибо. В итоге я вернулся к 6.11.1, так как это то, что использует Firebase, и вы правы, проблема исчезла, когда я это сделал.   -  person Robert Oschler    schedule 17.10.2017
comment
@WolframRittmeyer, пожалуйста, будьте более конкретными. Actions on Google – это платформа, для которой нет особых требований к платформе. Если вы имеете в виду, что пакет узла AoG имеет требование к движку, пожалуйста, укажите, где это указано.   -  person abraham    schedule 17.10.2017
comment
@abraham На самом деле я запутался и перепутал облачные функции и их значение для этой библиотеки. Облачные функции (оба варианта) требуют узла с LTS. Библиотека действий в Google, скорее всего, нет. По крайней мере, все мои тесты работают нормально с новейшей версией узла, а также с версией LTS. Когда я получил ту же ошибку, это было в Cloud Functions.   -  person Wolfram Rittmeyer    schedule 19.10.2017