在golang项目/文件中执行一个Node脚本。

huangapple go评论76阅读模式
英文:

Executing a node script inside a golang project/file

问题

我正在尝试在我的 Golang 项目中执行或运行一个 Node 脚本。我正在使用 os/exec

data, err := exec.Command("node", "api.js", "resources/node/api.js").Output()
if err != nil {
    panic(err)
}

output := string(data)

fmt.Println(output)

这是我得到的响应:

panic: exec: "node": 可执行文件在 %PATH% 中未找到

我不确定我可能做错了什么,或者是否有其他执行此命令的替代方法。我找到的都是执行 .sh 命令的方法。

非常感谢您的帮助。

英文:

I'm trying to exec or run a node script inside my golang project. I'm using os/exec

data, err := exec.Command("node api.js", "resources/node/api.js").Output()
	if err != nil {
		panic(err)
	}

	output := string(data)

	fmt.Println(output)

this it the response I'm getting:


panic: exec: "node api.js": executable file not found in %PATH%

Not sure What I might be wrong or if there is an alternative way to execute this command. All I found was ways to execute .sh command

Your assistance will be greatly appreciated.

答案1

得分: 2

我通过在命令和文件中使用绝对路径来解决了这个问题,以下是一个可工作的代码示例:

data, err := exec.Command("C:\\Program Files\\nodejs\\node", "C:\\Users\\Administrator\\Desktop\\project\\resources\\node\\api.js").Output()
if err != nil {
    panic(err)
}

output := string(data)

fmt.Println(output)

请注意,这是一个Go语言的示例代码。

英文:

I resolved it by using absolute paths for both the command and the file, here is a working code sample:

data, err := exec.Command("C:\\Program Files\\nodejs\\node", "C:\\Users\\Administrator\\Desktop\\project\\resources\\node\\api.js").Output()
    if err != nil {
        panic(err)
    }

    output := string(data)

    fmt.Println(output)

huangapple
  • 本文由 发表于 2022年3月10日 16:23:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/71420876.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定