去运行/构建没有得到依赖

时间:2019-01-20 14:41:13

标签: go

go rungo build不是get依赖项。

我做了什么:

  • 我已经完成了一个程序包,它获取了程序包及其依赖项,并进行了构建。 (一切都很好)
  • 我运行其命令行示例程序。 (一切都很好)
  • 然后我根据该示例创建了一个新程序,并go run。 (一切都很好)
  • 然后复制该示例程序,并go run。 (获取依赖项错误)。

成绩单

#↳ go version
go version go1.11.4 linux/amd64

#↳ echo $GOPATH
/home/????/+Files/workshops/programming/golang/gopath

#↳ go get -u github.com/cbroglie/mustache/...

#↳ cp -T $GOPATH/src/github.com/cbroglie/mustache/cmd/mustache/main.go my-mustache.go

#↳ go build -v my-mustache.go
my-mustache.go:8:2: cannot find package "github.com/spf13/cobra" in any of:
    /usr/local/go/src/github.com/spf13/cobra (from $GOROOT)
    /go/src/github.com/spf13/cobra (from $GOPATH)

我可以看到为什么尚未安装它:它位于原始源代码的供应商子目录中。但是,为什么在我构建时不安装?

1 个答案:

答案 0 :(得分:1)

首先检查您的node_modules文件夹:$GOPATH/bin应该已经在其中编译并安装了所有相关的二进制文件。

README提到:

  

要安装go get -u github.com/cbroglie/mustache/...,只需运行mustache.go


看起来胡子套件已安装并且正在运行。
但是,当我尝试构建cli示例时,它需要另一个软件包,如果我可以得到它,那么一切都很好,但是我希望可以通过构建来安装所有需要的软件包。
我错了吗?

go get github.com/cbroglie/mustache/...本身不会安装依赖项,因此您需要获取它,或激活go 1.11 modules并在新程序模块中声明该依赖项。