首页 > 解决方案 > AWS Serverless + Cloud Formation:单一功能部署时出错 - Windows 10 Env

问题描述

我有一个关于使用和部署AWS单个函数的问题。我正在用作操作系统。ServerlessCloud FormationWindows 10 - 64 bit

环境:

 Your Environment Information ---------------------------
     Operating System:          win32
     Node Version:              10.16.3
     Framework Version:         1.52.1
     Plugin Version:            3.0.0
     SDK Version:               2.1.1

基本上,当我运行所有 AWS env ( sls deploy -s dev) 的经典部署时,一切正常。但是,当我尝试使用以下命令部署一个我有更改的 Lambda 函数时:

sls deploy function -f MyLambdaFunc -s dev

我收到此错误:

TypeError: Cannot read property 'artifact' of undefined
      at ServerlessPythonRequirements.BbPromise.bind.then.then.then (C:\Users\user\Documents\company\client\AWS_environment\deployment\node_modules\serverless-python-requirements\index.js:176:48)
  From previous event:
      at PluginManager.invoke (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\lib\classes\PluginManager.js:505:22)
      at getHooks.reduce.then (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\lib\classes\PluginManager.js:540:24)
  From previous event:
      at PluginManager.run (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\lib\classes\PluginManager.js:540:8)
      at variables.populateService.then (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\lib\Serverless.js:115:33)
      at runCallback (timers.js:705:18)
      at tryOnImmediate (timers.js:676:5)
      at processImmediate (timers.js:658:5)
      at process.topLevelDomainCallback (domain.js:126:23)
  From previous event:
      at Serverless.run (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\lib\Serverless.js:102:74)
      at serverless.init.then (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\bin\serverless.js:67:28)
      at C:\Users\user\AppData\Roaming\npm\node_modules\serverless\node_modules\graceful-fs\graceful-fs.js:136:16
      at C:\Users\user\AppData\Roaming\npm\node_modules\serverless\node_modules\graceful-fs\graceful-fs.js:57:14
      at FSReqWrap.args [as oncomplete] (fs.js:140:20)
  From previous event:
      at initializeErrorReporter.then (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\bin\serverless.js:67:6)
      at runCallback (timers.js:705:18)
      at tryOnImmediate (timers.js:676:5)
      at processImmediate (timers.js:658:5)
      at process.topLevelDomainCallback (domain.js:126:23)
  From previous event:
      at Object.<anonymous> (C:\Users\user\AppData\Roaming\npm\node_modules\serverless\bin\serverless.js:53:39)
      at Module._compile (internal/modules/cjs/loader.js:778:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
      at Module.load (internal/modules/cjs/loader.js:653:32)
      at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
      at Function.Module._load (internal/modules/cjs/loader.js:585:3)
      at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
      at startup (internal/bootstrap/node.js:283:19)
      at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

有人知道为什么吗?也许我的npm安装有问题Windows 10

标签: node.jsamazon-web-servicesnpmamazon-cloudformationserverless

解决方案


更新您的功能serverless.yml

your_function:
  # ...
  package: {}

然后sls deploysls deploy function -f your_function


推荐阅读