Golang - 通过Upstart运行时找不到命令“go”

时间:2014-01-13 01:38:14

标签: ubuntu go

我正在尝试通过我的ubuntu上的“upstart”运行go命令。

我的新贵脚本是

script
  go run /home/myhome/gocode/src/program/hello.go
end script

它不起作用,我检查了日志文件,然后说

/bin/sh: 1: /bin/sh: go: not found

我可以使用任何用户名在命令行上运行“go”。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:6)

您不应该使用go run来运行Go程序。您应该使用go build进行编译,然后使用Upstart运行它。

改为使用exec /path/to/your/binary

另见: - Can't Start Golang Prog Via Upstart - https://coderwall.com/p/iekaog - https://groups.google.com/forum/m/#!topic/golang-nuts/uBrN-G7anKg(很多例子)

答案 1 :(得分:2)

键入which go作为另一个用户,找出go可执行文件的完整路径。然后,在您的upstart脚本中,将go替换为完整路径(例如/usr/local/go/bin)。

我不确定您遇到此问题的原因,但可能新手用户的路径与普通用户不同(即可能包含/sbin而不是/usr/bin)。