Can't Start Golang Prog Via Upstart

2019-07-15 00:50发布

问题:

I can't get my golang prog to run via upstart.

Here is my proj dir--

 /go
   /src
     /print.io
       /geo
         main.go
       /geodomain
         [.. files ..]

I have my gopath set to the /go dir above.

Within the /geo folder i can run go run main.go and it works.

However, with the following upstart configuration its logging main.go:8:2: import "print.io/geodomain": cannot find package--

Why doesnt it work from upstart like it does when i run the command manually?

description "go-server"
author "micah smith"

start on (net-device-up
          and local-filesystems
          and runlevel [2345])

stop on runlevel [!2345]
respawn

script
        chdir ~/go/src/print.io/geo/
        exec go run main.go
end script

回答1:

Resumbitted from comment:

Is it possible that, when invoked through Upstart, the GOPATH isn't set? Try compiling your program (go build) and putting it on your normal PATH.