【问题标题】:Serverless command "offline" not found. VS Code Debugger未找到无服务器命令“离线”。 VS 代码调试器
【发布时间】:2021-10-19 22:11:26
【问题描述】:

我有以下launch.json 文件。

  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Serverless Offline",
      "program": "${workspaceRoot}/node_modules/serverless/bin/serverless",
      "args": ["offline", "start", "--httpPort", "4000", "--noTimeout"],
      "protocol": "inspector",
      "runtimeExecutable": "node",
      "resolveSourceMapLocations": [
        "${workspaceFolder}/**",
        "!**/node_modules/**"
      ]
    }

但是当我从 vs 代码运行调试器时出现以下错误。我确实将serverlessserverless-offline 都安装为开发依赖项。 项目结构是否对其有影响。我的 node_modules 文件夹不是根文件夹。

并且还包含在serverless.yml 文件中。

无服务器错误 ----------------------------------------无服务器 未找到命令“离线”。您指的是 “config” 吗?运行“无服务器 help" 获取所有可用命令的列表。

【问题讨论】:

  • 奇怪,项目结构对它有影响吗?我的 node_modules 文件夹不是根文件夹。

标签: node.js visual-studio-code aws-lambda serverless-framework


【解决方案1】:

您的serverless.yml 文件需要位于node_modules 文件夹所在的同一文件夹中。另外,请确保您运行了 npm install 并且 serverless.yml 包含以下内容

plugins:
  - serverless-offline

按照https://www.npmjs.com/package/serverless-offline中的自述文件进行操作

【讨论】:

  • serverless.yml 它与 node_modules 在同一个文件夹中
【解决方案2】:

根据以下陈述回答,

我的 node_modules 文件夹不是根文件夹。 serverless.yml 它与 node_modules 位于同一文件夹中

确保您从serverless.yml 所在的目录运行serverless offlinesls offline

如果您需要从serverless.yml所在目录之外运行它,您可以更改使用serverless-offline的脚本首先更改当前工作目录。

例如: cd <path to the directory of serverless.yml> && serverless offline

旁注:还要确保serverless.yml 的缩进是正确的

【讨论】:

  • 你能详细说明你的答案吗?我正在从同一目录脱机运行 sls。我不明白If you need to run it from outside of the directory where the serverless.yml is located...
【解决方案3】:

您可以尝试从命令行运行which serverless 吗?

您是否尝试使用全局无服务器可执行文件(不是来自 node_modules 的可执行文件)运行?

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 2017-04-25
    • 2016-03-05
    • 1970-01-01
    相关资源
    最近更新 更多