cor*_*ath 5 ubuntu child-process dart dart-io
我有我想用 Dart 调用的命令。
sonar-runner如果我在普通的 Ubuntu 终端中运行它,该命令将完美运行。这是因为我PATH在.profile的文件,使其成为一个全球性的命令。
但是,如果我写了一个简单的Process.start代码来触发同样的事情:
Process.run('sonar-runner', []).then((result) {
stdout.write(result.stdout);
stderr.write(result.stderr);
});
Run Code Online (Sandbox Code Playgroud)
我得到的回应是:
Uncaught Error: ProcessException: No such file or directory
Command: sonar-runner
Unhandled exception:
ProcessException: No such file or directory
Command: sonar-runner
Run Code Online (Sandbox Code Playgroud)
我猜这是一个 Ubuntu 配置的东西,因为我运行没有问题 ping localhost以同样的方式通过 Dart。
什么可能是错误的,以至于第三方应用程序在将其作为新进程运行时无法找到全局命令?
更新 - 找到解决方案
我找到了我的问题的解决方案,如下所述:
对于我的具体情况,此代码有效:
Process.run("bash", ["-c", "sonar-runner"]).then((result) {
stdout.write(result.stdout);
stderr.write(result.stderr);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
935 次 |
| 最近记录: |