2017-02-17 56 views
0

我的AWS lambda函數在很長時間內一直在運行良好。我今天做了一些修改,並部署到我的開發環境,並在我的LAMBDA CloudWatch的日誌得到了以下錯誤:AWS Lambda:無法導入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。

相關問題