0
我試圖在node.js中構建一些lambda,並且使用TypeORM和MySql。我已經安裝了所有必需的節點模塊,但是當我部署lambda(通過無服務器)並對其進行測試時,我遇到如下錯誤。 使用gulp構建和打包.zip。從測試拉姆達Node.js Lambda - 在MySql中使用TypeORM
輸出日誌:
START RequestId: 671bed10-81b0-11e7-af34-251688cfdd Version: $LATEST
2017-08-15T11:53:50.594Z 671bed10-81b0-11e7-af34-251688cfdd
(node:1) UnhandledPromiseRejectionWarning: Unhandled promise rejection
(rejection id: 2): DriverPackageNotInstalledError: Mysql package has
not been found installed. Try to install it: npm install mysql --save
2017-08-15T11:53:50.596Z 671bed10-81b0-11e7-af34-251688cfdd Method:
"GET"
2017-08-15T11:53:50.596Z 671bed10-81b0-11e7-af34-251688cfdd Started
....
2017-08-15T11:53:50.596Z 671bed10-81b0-11e7-af34-251688cfdd
Finished ....
2017-08-15T11:53:50.596Z 671bed10-81b0-11e7-af34-251688cfdd
(node:1) PromiseRejectionHandledWarning: Promise rejection was handled
asynchronously (rejection id: 2)
2017-08-15T11:53:50.597Z 671bed10-81b0-11e7-af34-251688cfddb2
Console error: { DriverPackageNotInstalledError: Mysql package has not
been found installed. Try to install it: npm install mysql --save
at t.Error (native)
at new t (/var/task/index.js:1:48637)
at e.loadDependencies (/var/task/index.js:1:314938)
at new e (/var/task/index.js:1:311241)
at e.createDriver (/var/task/index.js:1:111709)
at e.create (/var/task/index.js:1:104246)
at e.<anonymous> (/var/task/index.js:1:110994)
at r (/var/task/index.js:1:103453)
at Object.next (/var/task/index.js:1:102788)
at /var/task/index.js:1:102697
name: 'DriverPackageNotInstalledError',
message: 'Mysql package has not been found installed. Try to install
it: npm install mysql --save' }
END RequestId: 671bed10-81b0-11e7-af34-251688cfdd
REPORT RequestId: 671bed10-81b0-11e7-af34-251688cfdd Duration: 8.71
ms Billed Duration: 100 ms Memory Size: 1024 MB Max Memory
Used: 39 MB
我的研究使我相信,這將無法正常包,因爲它的本機模塊。但我不確定。如果是的話,無論如何要讓本地節點模塊與lambda的工作? 任何幫助將不勝感激,謝謝。
編輯
文件夾結構:
deploy
-- dev
---- serverless.yml
---- PROJECT.zip
-- test
---- serverless.yml
---- PROJECT.zip
-- prod
---- serverless.yml
---- PROJECT.zip
node_modules
-- *
---- *
src
-- api
---- User
------ index.ts
-- data
---- User.ts
-- models
---- User.ts
gulpfile.js
index.ts
package.json
tsconfig.json
tslint.json
咕嘟咕嘟文件調用來自有無數一飲而盡任務AWS-λ-打字稿模塊的功能。
const gulp = require('gulp');
const awsLambdaTypescript = require('aws-lambda-typescript');
awsLambdaTypescript.registerBuildGulpTasks(gulp, __dirname);
gulp將.zip打包在dist文件夾中,然後我複製到部署>開發,然後無服務器部署。
感謝您的幫助!
感謝您的回覆,檢查和雙重檢查,但仍然有相同的錯誤。 – urang18
@ urang18您驗證了'node_modules'位於zip文件的根目錄中,並且mysql模塊文件正如預期的那樣在那裏? –
@Michael - sqlbot可以確認。我認爲它與TypeORM DriverPackage有關? – urang18