在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)
我正在使用带有无服务器1.30.1的Node 8.11.4。还安装了Aws-sdk,并且我已经设置了我的配置文件。
谢谢
答案 0 :(得分:31)
显然存在版本 serverless-dynamodb-local@0.2.31 的错误。
我已经通过使用降级到0.2.30版本
npm uninstall serverless-dynamodb-local
sls dynamodb uninstall
npm install serverless-dynamodb-local@0.2.30
sls dynamodb install
答案 1 :(得分:5)
按照关于serverless-dynamodb-local/issues/195的建议,我刚运行sls dynamodb install --localPath ./bin
,并且Dynamodb正确安装。运行serverless offline start
即可正常运行。
答案 2 :(得分:0)
确保已安装jre来运行dynamodb jar。否则将引发此错误。