2023-07-07 更新:以下内容可能过时,我已经不再使用 serverless,腾讯云函数文档建议开发者使用 serverless-cloud-framework,而不是 serverless。
以下是笔记原文。
不知道为什么我在已有的项目中使用 serverless v3 会出现一些错误,用 v2 什么错误都没有。v3 是 2022 年发布的,如果安装了 v3 导致一些错误,可以按照这个方法删除它。
serverless 官方给出的 v3 和 v2 的区别。
安装 v3 后貌似会自动安装 serverless-tencent,最新版本的 serverless-tencent 需要搭配 v3 使用。
貌似是 serverless-tencent 这个 package 导致 onCancel 等诸多错误!serverless-tencent 的依赖包括 got 11.8.3,serverless 2 的依赖也有 got 11.8.3,但 v2 不会自动安装 serverless-tencent。
经测试发现,以下版本可以正常使用:
需要注意一点,使用 nvm 安装不同版本的 node,然后在不同版本安装 global package,这些 package 只有在当前 node 可用。但是不知道为什么,vscode 的 zsh 终端下,在某个 node 版本下安装的 sls 可以在其他 node 版本下使用。