“sls dynamodb start”抛出 spawn java ENOENT
Posted
技术标签:
【中文标题】“sls dynamodb start”抛出 spawn java ENOENT【英文标题】:"sls dynamodb start" throws 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 也已安装,我已经设置了我的个人资料。
谢谢
【问题讨论】:
【参考方案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。否则会抛出这个错误。
【讨论】:
以上是关于“sls dynamodb start”抛出 spawn java ENOENT的主要内容,如果未能解决你的问题,请参考以下文章
Spark read() 有效,但 sql() 抛出 Database not found
Hibernate Search 手动索引抛出“org.hibernate.TransientObjectException:实例未与此会话关联”
Spring Boot 2.0.0.M4 OAuth2 令牌端点抛出 org.springframework.web.HttpRequestMethodNotSupportedException