【问题标题】:"sls dynamodb start" throws spawn java ENOENT“sls dynamodb start”抛出 spawn java ENOENT
【发布时间】:2019-01-26 06:48:55
【问题描述】:

在 Mac 上运行,我使用 aws-nodejs 模板创建了一个基本的无服务器服务:

serverless create --template aws-nodejs --path TestService

之后我使用以下命令添加无服务器本地:

npm install serverless-dynamodb-local
serverless dynamodb install

无论我做什么,我都无法启动 dynamodb-local。当我跑步时

serverless dynamodb start

我收到以下错误:

Error: spawn java ENOENT
at _errnoException (util.js:992:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
at onErrorNT (internal/child_process.js:372:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickDomainCallback (internal/process/next_tick.js:218:9)

运行 java --version 给我以下信息:

Java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

我正在使用 Node 8.11.4 和无服务器 1.30.1。 Aws-sdk 也已安装,我已经设置了我的个人资料。

谢谢

【问题讨论】:

    标签: node.js amazon-web-services amazon-dynamodb serverless-framework aws-serverless


    【解决方案1】:

    显然 serverless-dynamodb-local@0.2.31 版本存在错误。

    issue on github

    我已经通过使用降级到 0.2.30 版

    npm uninstall serverless-dynamodb-local
    sls dynamodb uninstall
    
    npm install serverless-dynamodb-local@0.2.30
    sls dynamodb install
    

    【讨论】:

    • 这应该是公认的答案。在 Github 上的所有问题中错过了这个:/
    • 尝试了一堆解决方案,但只有一个有效。谢谢!
    • 希望插件能尽快更新。这很难找到解决办法。谢谢!
    • 仅供参考,直到今天我已经安装了^0.2.35,没有任何问题。原来0.2.36 刚刚发布并且有同样的问题。我暂时留在0.2.35,并在我的package.json中删除了胡萝卜
    • 我在0.2.38 看到了这个问题,降级到0.2.37 修复了它...
    【解决方案2】:

    按照serverless-dynamodb-local/issues/195 的建议,我刚刚运行sls dynamodb install --localPath ./bin 并正确安装了Dynamodb。运行serverless offline start 然后正常工作。

    【讨论】:

    • 是的!谢谢。
    • 天哪,我开始担心了。谢谢!
    【解决方案3】:

    确保您已安装 jre 以运行 dynamodb jar。否则会抛出这个错误。

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 2014-11-13
      • 2019-11-25
      • 2020-06-26
      • 2018-05-07
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 2021-06-30
      相关资源
      最近更新 更多