godep:exec:“执行”:在$ PATH中找不到可执行文件

Den*_*ski 3 heroku go

我试图在heroku上部署服务器,但我停留在应该使用Godep的步骤上,我花了很少的时间在GO上,最近两天我一直在寻找如何解决此问题的方法,实际上这是一个很受欢迎的问题,但是我无法确定出来,也许我做错了什么。

我有OS X 10.11.2
我的GOPATH-用户/ denis / Programming / Golang
我的路径-$ GOPATH / bin
我试图对放在$ GOPATH / src / backend中的项目使用godep

在我的PATH中,我有一个可执行的Godep文件(不是.go)。

我工作场所的整体结构。

/Golang/
     .bin/
        godep //executable file
     .pkg/
        .darwin-amd64/
             .//other folders/
     .src/
         .github.com/
         .backend/
         .//other folders// 
Run Code Online (Sandbox Code Playgroud)

edu*_*911 6

首先,这是什么输出:

$ echo $PATH
Run Code Online (Sandbox Code Playgroud)

至少要运行Go项目,它应该具有两个目录:

  • / path / to / go / installation / bin(例如/usr/local/go/bin
  • / path / to / your / GOPATH / bin(例如/Users/denis/Programming/Golang/bin

如果遵循Go安装设置,则go的安装应该已经在PATH中。

https://golang.org/doc/install

自从您/Users/denis/Programming/Golang以大写字母发布之后,U我将假设您正在使用OS X ...

在OS X中,如果使用默认安装,则可以使用简单的命令在PATH中测试Go:

$ echo $PATH | grep --color=auto "/usr/local/go/bin"
Run Code Online (Sandbox Code Playgroud)

它应该打印出您的全部内容,$PATH并突出显示您已正确设置所有内容。这是因为上面URL中的OS X GoLang安装程序应该已经修改了PATH,使其包括:

  • /usr/local/go/bin
  • 或更具体地说,可能是 export PATH="$PATH:/usr/local/go/bin"

如果您有一些自定义.bashrc和/或.profile文件,则很可能是您的PATH设置不正确。您可以通过执行以下操作对此进行测试:

$ PATH="$PATH:/usr/local/go/bin"
$ PATH="$PATH:/Users/denis/Programming/Golang/bin"
$ godep go build
Run Code Online (Sandbox Code Playgroud)

如果现在可以正常使用,则说明您的.bashrc / .profile文件中的PATH设置不正确。这是另一种问题,可以设置1000种不同的方式,您可能需要弄清楚(或另一个SO问题)。

如果这样可以解决您的问题,那么您需要按照说明从项目的根目录godep运行godep

$ cd $GOPATH/src/backend/
$ godep save
$ git add Godeps/
Run Code Online (Sandbox Code Playgroud)

godepGodeps在Go项目的根目录中创建一个目录。如果您有多个Go项目/多个可执行文件,则需要在运行godep save时的每个根目录上运行。

IOW,对于每个要运行的可执行文件go build,都需要godep save在每个目录中运行。

另外,一旦移至godep,您还希望将其用于构建和测试:

$ godep go build
$ godep go test
...etc
Run Code Online (Sandbox Code Playgroud)

如果不是问题所在(如上所述,您正在运行它),那么请使用更多详细信息更新您的问题,例如godep您正在运行的命令,位置以及该项目的根目录结构(包括文件名)与package main和您的func main()功能)。