【发布时间】:2022-02-02 06:30:01
【问题描述】:
我最近将我的无服务器框架项目从 v2.7 升级到了 v3.0.1。这样做之后,每当我运行 serverless deploy 时,我都会收到以下错误:
Environment: win32, node 14.18.1, framework 3.0.1, plugin 6.0.0, SDK 4.3.0
Docs: docs.serverless.com
Support: forum.serverless.com
Bugs: github.com/serverless/serverless/issues
Error:
TypeError: validate is not a function
at ConfigSchemaHandler.validateConfig (C:\Users\MainPC\AppData\Roaming\nvm\v14.18.1\node_modules\serverless\lib\classes\config-schema-handler\index.js:101:5)
at async Service.validate (C:\Users\MainPC\AppData\Roaming\nvm\v14.18.1\node_modules\serverless\lib\classes\service.js:267:5)
at async Serverless.run (C:\Users\MainPC\AppData\Roaming\nvm\v14.18.1\node_modules\serverless\lib\serverless.js:162:28)
at async C:\Users\MainPC\AppData\Roaming\nvm\v14.18.1\node_modules\serverless\scripts\serverless.js:675:9
我尝试了以下方法:
- 通过运行
serverless并选择 NodeJS 启动项目来创建一个新的“hello world”项目 - 完全卸载
nvm并重新安装NodeJS v14.18.1 - 删除了所有全局安装的 NPM 模块并仅从头开始重新安装 SLS
我现在正在运行不带 NVM 的独立 v14 节点(在 Windows 10 上),但错误仍然存在。恢复到 v2.7 可以解决该错误。
似乎没有其他人遇到这个问题。谁能提供一些帮助?
对于那些要求模板的人,错误甚至发生在 Serverless 自己为新项目生成的演示模板上:
service: testing-v3
frameworkVersion: '3'
provider:
name: aws
runtime: nodejs14.x
functions:
hello:
handler: handler.hello
我很确定问题是安装问题或 v3 特有的问题,或两者兼而有之。
【问题讨论】:
-
您能否分享您的 serverless.yml,因为这会直接影响您看到的错误?
-
@GarethMcCumskey 我今晚会发帖,但即使在基本的 NodeJS 入门项目中也会发生这种情况,您可以通过在空目录中运行
serverless来创建它。
标签: node.js npm aws-lambda serverless serverless-framework