每当我登录OSX时,我都在尝试运行我的golang程序。我正在使用Automator尝试以下脚本:
1 2 3 | #!/bin/sh export GOPATH=/Volumes/DTSE9/worker go run /Volumes/worker/worker.go |
每当我用Automator运行它时,它就会告诉我
- 因此
go 不在PATH中。您可以将其添加到PATH中,也可以添加完整路径。 -
@JimB您的意思是在第一个导出上方添加
export GOROOT=/usr/local/go/bin/go 吗?只是尝试了,它是行不通的。 -
不,请不要设置GOROOT(无论如何,这都不是GOROOT的有效值)。如果
/usr/local/go/bin 不在您的路径中,则需要将其添加到PATH或使用/usr/local/go/bin/go run - 但是,为什么不只是编译程序并运行可执行文件呢?它将运行得更快,并且不会依赖于GOPATH的状态。
创建一个类似
1 2 3 4 5 6 7 | ///path-to/bin/go run $0 $@; exit $? package main func main() { println("Hello World!") } |
然后运行
- 大声笑,从字面上确实采用了"去脚本"一词,但这是一个巧妙的技巧;)。它也应该可以在macOS上正常运行。
-
刚刚尝试过并得到:
go: unknown subcommand"./main.go" Run 'go help' for usage. -
您不再需要调用
go 命令-只需调用$ ./main.go 。我正在Ubuntu上使用它;尽管我不熟悉OSX,但是由于它是POSIX兼容的OS(