我正在 Debian 环境中运行 Go 应用程序。我的所有开发都在 OSX 上进行并且运行良好,但是我在从 Go 代码在 shell 上运行命令时遇到问题。
cmdName := "cwebp"
cmdArgs := []string{srcPath, "-o", dstPath}
log.Printf("Executing %s : %+v", cmdName, cmdArgs)
cmd := exec.Command(cmdName, cmdArgs...)
_, err := cmd.StdoutPipe()
if err != nil {
log.Printf("Error: %s", err)
}
err = cmd.Run()
if err != nil {
log.Printf("Error: %s", err)
}
应用程序进程从我的 root 用户运行,当我从 shell 运行它时,该命令工作正常。
早些时候,我认为我面临的问题是由于 PATH 环境变量不正确。在运行命令之前打印它,我得到了正确的路径。此外,我尝试使用LookPath并获得了正确的路径/usr/local/bin/cwebp。
杨__羊羊
相关分类