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

go run并且go buildget依赖。

我做了什么:

  • 我已经完成了一个包的获取,它获取了它及其依赖项,并构建了它。(一切都很好)

  • 我运行它的命令行示例程序。(一切都很好)

  • 然后我根据这个例子创建了一个新程序,然后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)

我明白为什么它还没有安装:它在原始源代码的 vendor 子目录中。但是为什么在我构建时它不安装?


阿晨1998
浏览 94回答 1
1回答

慕斯709654

首先检查您的$GOPATH/bin文件夹:ago get -u github.com/cbroglie/mustache/...应该已经编译并安装了所有相关的二进制文件。自述文件提到:要安装mustache.go,只需运行go get github.com/cbroglie/mustache/...。来自评论:看起来 mustache 包已安装并且可以正常工作。但是,当我尝试构建 cli 示例时,它需要另一个包,如果我去获取它,那么一切都很好,但是我期待 go build 来安装所有需要的包。我错了吗?go build本身不会安装依赖项,所以你需要去获取它,或者激活go 1.11 模块并在你的新程序模块中声明依赖项。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go