"sls dynamodb start"抛出了生成java ENOENT

Nah*_*zes 14 amazon-web-services node.js amazon-dynamodb serverless-framework aws-serverless

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

serverless create --template aws-nodejs --path TestService
Run Code Online (Sandbox Code Playgroud)

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

npm install serverless-dynamodb-local
serverless dynamodb install
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我都无法开始使用dynamodb-local.我跑的时候

serverless dynamodb start
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

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)
Run Code Online (Sandbox Code Playgroud)

跑步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)
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Nah*_*zes 31

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

github上的问题

我用降级版降级到0.2.30版

npm uninstall serverless-dynamodb-local
sls dynamodb uninstall

npm install serverless-dynamodb-local@0.2.30
sls dynamodb install
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,直到今天我安装了"^ 0.2.35"并没有任何问题.事实证明`0.2.36`刚刚发布并且存在同样的问题.我暂时停留在`0.2.35`并在我的`package.json`中删除了胡萝卜 (3认同)

Mar*_*rkC 5

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