无服务器部署错误:错误:找不到模块"./lib/core"



我在命令无服务器部署中遇到错误,找不到任何关于此错误源的文档。它在我的本地机器上工作,这意味着我必须安装其他东西才能工作,但我不知道是什么。

我正在努力建立在AWS上。

myserverless.yaml:

service: suqinn-python
app: suquinn-be
plugins:
- '@serverless/enterprise-plugin'
- serverless-pseudo-parameters
- serverless-custom-packaging-plugin
- serverless-python-requirements


package:
exclude:
- 'node_modules/**'
provider:
name: aws
runtime: python3.8
profile: ${opt:profile,"AlexisLefebvre"}
region: ${opt:region,"eu-west-2"}
stage: ${opt:stage,"dev"}
environment:
STAGE: ${self:provider.stage}
REGION: ${self:provider.region}
DYNAMODB_SECURITIES_TABLE: ${self:custom.DynamoDBSecuritiesTableName}
iamRoleStatements:
- Effect: 'Allow'
Action:
- dynamodb:PutItem
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
Resource: 
- arn:aws:dynamodb:${self:provider.region}:#{AWS::AccountId}:table/${self:custom.DynamoDBTradesTableName}
- Effect: 'Allow'
Action:
- s3:GetObject
Resource: 
- arn:aws:s3:::*
functions:
create:
handler: handler.create
environment:
STAGE: ${self:provider.stage}
events:
- http:
path: form
method: post
cors: true
get:
handler: handler.get
environment:
STAGE: ${self:provider.stage}
events:
- http:
path: form
method: get
cors: true
delete:
handler: handler.delete
environment:
STAGE: ${self:provider.stage}
events:
- http:
path: form
method: delete
cors: true


custom:
client: "kkk"
DynamoDBTradesTableName: ${self:custom.client}-trades-${self:provider.stage}
s3reportsName: ${self:custom.client}-reports-${self:provider.stage}

和我的建筑规范yaml:

version: 0.2
#comment
phases:
install:
runtime-versions:
nodejs: 10
python: 3.8
commands:
- pip install pyjwt
- pip install pytz
- pip install pandas_market_calendars
- npm install serverless -g
- npm install serverless-pseudo-parameters
- npm install serverless-custom-packaging-plugin
- npm install serverless-python-requirements
- npm install @serverless/enterprise-plugin
build:
commands:
- serverless deploy

只需添加到您的serverless.yml

package: # Optional deployment packaging configuration
include: # Specify the directories and files which should be included in the deployment package
- ./**
exclude: # Specify the directories and files which should be excluded in the deployment package
- 'node_modules/**'

更好的做法是只包括与特定lambda函数相关的文件夹,而不是所有的项目文件

取自:https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml/

这似乎来自自定义打包插件。删除插件可以解决这个问题,但你的package.zip的大小会爆炸,这也是一个问题。将serverless.yaml修改为:

service: suqinn-python
app: suquinn-be
plugins:
- '@serverless/enterprise-plugin'
- serverless-pseudo-parameters
- serverless-custom-packaging-plugin
- serverless-python-requirements


package:
include:
- '*'
exclude:
- 'node_modules/**'

不幸的是,仍然会产生相同的错误:

错误----------------------------------------------------

错误:找不到模块"/lib/core'位于Function.Module.resolveFilename(internal/modules/cjs/loader.js:636:15)位于Function.Module_load(internal/modules/cjs/loader.js:562:25)在Module.require(internal/modules/cjs/loader.js:692:17)at required(internal/modules/cjs/helpers.js:25:18)在对象处。(/codebuild/output/src448056649/src/node_modules/archiver/index.js:8:16)在模块中_compile(internal/modules/cjs/loader.js:778:30)位于Object.Module_extensions.js(internal/modules/cjs/loader.js:789:10)在Module.load(internal/modules/cjs/loader.js:653:32)在tryModuleLoad(internal/modules/cjs/loader.js:593:12)位于Function.Module_load(internal/modules/cjs/loader.js:585:3)在Module.require(internal/modules/cjs/loader.js:692:17)at required(internal/modules/cjs/helpers.js:25:18)在对象处。(/codebuild/output/src448056649/src/node_modules/serverless自定义打包插件/lib/index.js:5:18)在模块中_compile(internal/modules/cjs/loader.js:778:30)位于Object.Module_extensions.js(internal/modules/cjs/loader.js:789:10)在Module.load(internal/modules/cjs/loader.js:653:32)在tryModuleLoad(internal/modules/cjs/loader.js:593:12)位于Function.Module_load(internal/modules/cjs/loader.js:585:3)在Module.require(internal/modules/cjs/loader.js:692:17)at required(internal/modules/cjs/helpers.js:25:18)at requireServicePlugin(/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:27:12)位于pluginsObject.modules.filter.map.name(/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:144:20)在Array.map()位于PluginManager.resolveServicePlugins(/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:141:8)在PluginManager.loadAllPlugins(/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:127:40)位于service.load.then(/usr/local/lib/node_modules/serverless/lib/serverless.js:88:39)在tryCatcher(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/util.js:16:23)Promise_settlePromiseFromHandler(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:547:31)Promise_settlePromise(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:604:18)Promise_settlePromise0(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:649:10)Promise_settlePromises(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:729:18)Promise_实现(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/prowere.js:673:18)Promise_settlePromise(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:617:21)Promise_settlePromise0(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:649:10)Promise_settlePromises(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:729:18)Promise_实现(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/prowere.js:673:18)Promise_resolveCallback(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promee.js:46:57)Promise_settlePromiseFromHandler(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:559:17)Promise_settlePromise(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:604:18)Promise_settlePromise0(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:649:10)Promise_settlePromises(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:729:18)Promise_实现(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/prowere.js:673:18)PromiseArray_resolve(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise_array.js:127:19)PromiseArray_promiseFulfilled(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise_array.js:145:14)Promise_settlePromise(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:609:26)Promise_settlePromise0(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:649:10)Promise_settlePromises(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:729:18)Promise_实现(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/prowere.js:673:18)Promise_resolveCallback(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promee.js:46:57)Promise_settlePromiseFromHandler(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:559:17)Promise_settlePromise(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:604:18)Promise_settlePromise0(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:649:10)Promise_settlePromises(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:729:18)Promise_实现(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/prowere.js:673:18)位于属性PromiseArray.PromiseArray.coresolve(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise_array.js:127:19)位于Properties PromiseArray_promiseFulfilled(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/props.js:78:14)Promise_settlePromise(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:609:26)Promise_settlePromise0(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:649:10)Promise_settlePromises(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:729:18)at _drainQueueStep(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:93:12)at_drainQueue(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:86:9)异步_drainQueues(/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:102:5)在Immediate.Async.drainQueues[as_onImmediate](/usr/local/lib/node_modules/serverless/node_modules/bluebird/js/release/Async.js:15:14)在runCallback(timers.js:705:18)在tryOnImmediate(timers.js:676:5)正在处理即时(timers.js:658:5)

相关内容

最新更新