Безсерверный фреймворк не будет запускаться с локальным

РЕДАКТИРОВАТЬ: Как ответил ниже Карлос, это было ошибкой в ​​версии server.23 -serverodb-local- 0.2.23 (версия на момент редактирования - 0.2.35). Теперь она решена, и если у вас возникла похожая проблема, вы должны обновить свои зависимости.

У меня была рабочая среда разработки лямбда-функции AWS, разработанной на основе Serverless с использованием DynamoDB (плагины: serverless-offline, serverless-dynamicodb-local . После удаления node_modules и переустановки я потерял возможность запуска сервера разработки, который Я имел обыкновение делать с serverless offline start

serverless offline работает правильно, но если я пытаюсь запустить Dynamodb локально, он выдает следующую ошибку:

Reference Error ----------------------------------------

  options is not defined

     For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.

  Stack Trace --------------------------------------------

ReferenceError: options is not defined
    at BbPromise.resolve.then (/Users/pablo/Documents/myProject/node_modules/serverless-dynamodb-local/index.js:164:21)
From previous event:
    at PluginManager.invoke (/Users/pablo/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/lib/classes/PluginManager.js:236:22)
    at PluginManager.run (/Users/pablo/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/lib/classes/PluginManager.js:255:17)
    at variables.populateService.then (/Users/pablo/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/lib/Serverless.js:99:33)
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)
    at processImmediate [as _immediateCallback] (timers.js:617:5)
From previous event:
    at Serverless.run (/Users/pablo/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/lib/Serverless.js:86:74)
    at serverless.init.then (/Users/pablo/.nvm/versions/node/v6.10.3/lib/node_modules/serverless/bin/serverless:39:50)

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Forums:        forum.serverless.com
     Chat:          gitter.im/serverless/serverless

  Your Environment Information -----------------------------
     OS:                     darwin
     Node Version:           6.10.3
     Serverless Version:     1.19.0

Как ни странно, если я перейду к localhost:8000/shell, оболочка динамодаба запущена.

У кого-нибудь была подобная проблема?

6 ответов

Таким образом, оказывается, что это была проблема, зарегистрирована и решена здесь: https://github.com/99xt/serverless-dynamodb-local/issues/120

Вы можете скачать версию 0.2.24, набрав npm i serverless-dynamodb-local@0.2.24 --save-dev если вы используете его в качестве зависимости развития.

Во-первых, добавьте Serverless Offline в ваш проект:

npm install serverless-offline --save-dev

Тогда внутри вашего проекта serverless.yml файл добавить следующую запись в раздел плагинов: serverless-offline, Если раздела плагинов нет, вам необходимо добавить его в файл.

Это должно выглядеть примерно так:

plugins:
  - serverless-offline

Вы можете проверить, успешно ли вы установили плагин, запустив безсерверную командную строку:

serverless

консоль должна отображать Offline как один из плагинов, теперь доступных в вашем проекте без сервера.

Затем в вашем проекте root запустите:

serverless offline start or sls offline start.

Ссылка ссылка

Я попробовал ниже, и это решило проблему для меня

sls dynamodb install --localPath ./bin

Ссылка https://github.com/99xt/serverless-dynamodb-local/issues/210

Команда выполнения

sls dynamodb install --stage dev

Для меня это была очень тонкая деталь. я имел stage установить как local. Итак, мне пришлось поместить следующую строку в custom раздел serverless.yml файл:

      custom:
  dynamodb:
    stages:
      - local

serverless-Dynamodb-local 0.2.35 работал у меня

      yarn remove serverless-dynamodb-local
yarn add serverless-dynamodb-local@0.2.35
sls dynamodb install
Другие вопросы по тегам