2017-02-17 4 views
0

Функция AWB лямбда работает отлично на века. Я сделал несколько изменений сегодня и развернуты в моей Dev среде и получил следующее сообщение об ошибке в моем лямбда-журнал cloudwatch:AWS Лямбда: не удалось импортировать модуль с Sequelize

Unable to import module 'users/users_handler': Error 
at Function.Module._resolveFilename (module.js:325:15) 
at Function.Module._load (module.js:276:25) 
at Module.require (module.js:353:17) 
at require (internal/module.js:12:17) 
at VERSION (/var/task/node_modules/sequelize/node_modules/moment-timezone/moment-timezone.js:14:28) 
at Object.<anonymous> (/var/task/node_modules/sequelize/node_modules/moment-timezone/moment-timezone.js:18:2) 
at Module._compile (module.js:409:26) 
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> (/var/task/node_modules/sequelize/node_modules/moment-timezone/index.js:1:93) 
at Module._compile (module.js:409:26) 
at Object.Module._extensions..js (module.js:416:10) 
at Module.load (module.js:343:32) 

Любая идея, почему это происходит? Мой код user_handler.js даже не упоминается в этой трассировке стека.

ответ

0

Оказалось, проблема была в Sequelize, внезапно нуждающемся в пакете «момента». Я не знаю, почему, но если вы посмотрите на эту линию трассировки стека:

at VERSION (/var/task/node_modules/sequelize/node_modules/moment-timezone/moment-timezone.js:14:28) 

И затем открыть этот файл в вашем проекте:

node_modules/sequelize/node_modules/moment-timezone/moment-timezone.js 

В строке 14 вы можете увидеть это требующий момента. Чтобы исправить это, установите момент:

npm install moment --save 

А затем убедитесь, что он в комплекте с вашей упаковкой на S3.