получение "ошибки инициализации модуля" после развертывания кода sls из windows - PullRequest
0 голосов
/ 08 июня 2019

Я развертываю лямбда-функцию из моего офиса, где у меня установлена ​​операционная система Ubuntu. когда я внедряю свой серверный код, он работает нормально, я могу получить доступ к лямбда-API без каких-либо проблем но тот же код при развертывании на моем домашнем компьютере, где у меня есть операционная система Windows там, он показывает ошибку «ошибка инициализации модуля» во время доступа к лямбда-API («Примечание. При развертывании нет проблем, проблема возникает, когда я доступ лямбда-API после его развертывания на машине с Windows ").

Я отладил проблему и обнаружил, что проблема связана с пакетом "bcrypt". и в журналах я увидел, что в тот момент, когда выполнение кода достигает файла, в который я импортировал модуль "bcrypt", он выдает ошибку. Я не знаю, почему он показывает два разных поведения в двух разных операционных системах только для bcrypt.

 "dependencies": {
    "@serverless/fdk": "^0.7.1",
    "bcrypt": "^3.0.6",
    "jsonwebtoken": "^8.5.1",
    "mysql": "^2.17.1",
    "serverless-http": "^2.0.2"

журналы для myOwnFunction

module initialization error
Error
2019-06-08 09:25:06.043 (+05:30)        33f9015c-c9f0-43a5-8c4a-1fc617ad955d    inside OwnerModel

В моем коде, когда выполнение кода достигает следующей строки

import bcrypt from  'bcrypt';

Показывает ошибку инициализации модуля

Я ожидаю выполнения лямбда-API, даже если он развернут с помощью Windows-машины.

1 Ответ

1 голос
/ 11 июня 2019

Вам нужно будет скомпилировать модуль bcrypt в Amazon Linux с определенной версией NodeJS, а затем сжать и развернуть его.

В качестве альтернативы, я бы предложил использовать bcryptjs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...