godep:exec:" go":$ PATH中找不到可执行文件

时间:2016-03-31 18:59:11

标签: heroku go

我试图在heroku上部署我的服务器而且我坚持使用godep,我花了很少时间使用GO,过去两天我一直在寻找如何解决这个问题,实际上它是一个受欢迎的问题,但我无法弄清楚,也许我做了一些根本错误的事情。

我有OS X 10.11.2
我的GOPATH - 用户/ denis /编程/ Golang
我的路径 - $ GOPATH / bin
我试图将godep用于我的项目,该项目放在$ GOPATH / src / backend

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

我工作场所的整体结构。

/Golang/
     .bin/
        godep //executable file
     .pkg/
        .darwin-amd64/
             .//other folders/
     .src/
         .github.com/
         .backend/
         .//other folders// 

1 个答案:

答案 0 :(得分:5)

首先,这是什么输出:

$ echo $PATH

它应该在最小的运行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"

它应该打印我们的整个$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

如果它现在有效,那么你的PATH在.bashrc / .profile文件中没有正确设置。这是一个不同类型的问题,可以设置1000种不同的方式,你可能需要弄清楚(或另一个SO问题)。

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

$ cd $GOPATH/src/backend/
$ godep save
$ git add Godeps/

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

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

此外,一旦您转到godep,您也希望将其用于构建和测试:

$ godep go build
$ godep go test
...etc

如果这不是问题(您正如上所述运行它),请更新您的问题,例如您正在运行的godep命令,位置以及Directorys结构的内容看起来像是该项目的根目录(包括带有package mainfunc main()功能的文件名。)