【问题标题】:Serverless: Running "serverless" installed locally (in service node_modules)无服务器:运行本地安装的“无服务器”(在服务 node_modules 中)
【发布时间】:2022-06-27 23:50:19
【问题描述】:

我正在尝试使用无服务器将服务部署到 aws。我正在使用 gitlab cicd 部署它,而不是在本地进行。最初我的无服务器版本是最新的(没有提到任何特定版本),但是当我将代码推送到 gitlab 时,由于最新版本不稳定,我在管道中遇到了一些错误。所以不得不将版本更改为稳定版本。现在,当我将代码更改推送到 gitlab 时,我的部署失败了,我得到了

无服务器错误 ---------------------------------------- 过时的全局版本无法运行无服务器框架的本地安装。请通过以下方式升级: npm install -g serverless 注意:最新版本可以运行本地安装的无服务器框架的任何版本。

我不想升级我的无服务器版本。

在我的 gitlab-ci.yml 中我已经改变了

- npm install -g serverless

到这里

- npm install -g serverless@2.69.1

有什么办法可以解决这个问题吗?

任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 这并不是说你应该升级你的全球无服务器版本,而是你的本地无服务器版本。在我看来,您通过 npm 在本地安装了无服务器,然后是全局版本,因此您可能希望查看 package.json 中的无服务器版本

标签: amazon-web-services gitlab-ci serverless-framework


【解决方案1】:

在您的情况下,最可能的原因是您在本地安装了 Serverless 或某些插件/您的​​其他依赖项在对等依赖项中具有 Serverless v3,并默认将其安装在 npm@7 和更高版本中. 要解决它,请删除本地安装或固定本地安装的无服务器版本(在您项目的 package.json 中的 devDependencies 中)。

【讨论】:

    【解决方案2】:

    ./node_modules/.bin/sls deploy 可以解决问题。

    【讨论】:

      猜你喜欢
      • 2019-01-05
      • 2018-02-08
      • 2021-08-25
      • 1970-01-01
      • 2017-01-11
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      相关资源
      最近更新 更多