我正在尝试通过我的ubuntu上的“upstart”运行go命令。
我的新贵脚本是
script
go run /home/myhome/gocode/src/program/hello.go
end script
它不起作用,我检查了日志文件,然后说
/bin/sh: 1: /bin/sh: go: not found
我可以使用任何用户名在命令行上运行“go”。我该如何解决这个问题?
答案 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
)。