18

在 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 也已安装,我已经设置了我的个人资料。

谢谢

4

3 回答 3

33

显然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
于 2018-08-20T09:30:42.197 回答
5

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

于 2019-01-28T23:29:32.167 回答
3

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

于 2020-08-08T07:20:08.727 回答