Ubuntu 戈朗-指挥部“;围棋;通过Upstart运行时未找到

Ubuntu 戈朗-指挥部“;围棋;通过Upstart运行时未找到,ubuntu,go,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”。如何修复此问题?作为另一个用户键入哪个go,以查找go可执行文件的完整路径。然后,在upstart脚本中,将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”。如何修复此问题?

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


我不确定您为什么会遇到此问题,但可能upstart用户的路径与普通用户不同(即,它可能包括
/sbin
,而不是
/usr/bin

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


我不确定您为什么会遇到此问题,但可能upstart用户的路径与普通用户不同(即,它可能包括
/sbin
,而不是
/usr/bin

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

改用
exec/path/to/your/binary

另见: - -
-(很多例子)

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

改用
exec/path/to/your/binary

另见: - -
-(大量示例)

您的go二进制文件位于哪里?我猜upstart会将路径设置为默认值,但不包括自定义路径。这不起作用。Upstart不设置PATH或GOROOT。我认为Upstart允许您自己设置一些环境变量。为什么会被否决?您的go二进制文件位于哪里?我猜upstart会将路径设置为默认值,但不包括自定义路径。这不起作用。Upstart不设置PATH或GOROOT。我认为Upstart允许您自己设置一些环境变量。为什么会被否决?我在“etc/profile”中添加了“/usr/local/go/bin”-这不就是系统范围内的吗?但这也不起作用。我还尝试了“/etc/environment”-没有成功。为什么会被否决?我提出了一个很有可能奏效的建议,OP奇怪地做了另一件事,有人投了反对票。对不起,回复太晚了。我尝试了“whichgo”,并尝试了upstart脚本的完整路径,但没有成功。最后,我知道我不应该通过“go run”来运行go程序。因此,我构建了它,然后使用upstart来调用它——这就成功了(尽管我仍然不知道为什么事情一开始没有好转),我在“etc/profile”中添加了“/usr/local/go/bin”——这不就是整个系统吗?但这也不起作用。我还尝试了“/etc/environment”-没有成功。为什么会被否决?我提出了一个很有可能奏效的建议,OP奇怪地做了另一件事,有人投了反对票。对不起,回复太晚了。我尝试了“whichgo”,并尝试了upstart脚本的完整路径,但没有成功。最后,我知道我不应该通过“go run”来运行go程序。因此,我构建了它,然后用暴发户来称呼它——这就成功了(尽管对我来说,事情最初为什么没有好转仍然是个谜)