【发布时间】:2021-11-19 04:13:40
【问题描述】:
我正在尝试使用 shell 脚本从 Scala 应用程序启动 Node 服务器,但是当我尝试添加环境变量时出现以下错误:
Exception in thread "main" java.io.IOException: Cannot run program "TEST_ENV_VAR=fake-key": error=2, No such file or directory
代码如下所示:
import java.nio.file.{Files, Path}
import scala.language.postfixOps
@main def app() =
val path = Path.of(scala.sys.props.get("user.home").get + "/projects")
s"TEST_ENV_VAR=fake-key node $path/node-server/server.js" !!
看起来它正在尝试运行环境变量而不是服务器。有没有办法让它正确识别它们?在不包含环境变量的情况下,我已经能够使用此方法成功运行节点服务器。
谢谢!
【问题讨论】:
-
TEST_ENV_VAR=fake-key是一个 shell 命令,当您使用不在 shell 中的进程 API 从 JVM 运行程序时,您可以启动 bash,然后在 bash 中启动您的命令,但这是不必要的,应该有一种方法可以将 env 传递给进程以运行,可能更容易直接调用 Java API,而不是使用 Scala 中的花哨的 DSL .
标签: node.js scala shell environment-variables