如何在Go中安装需求? "找不到包"

时间:2014-12-02 12:24:07

标签: go

我是Go的新手,我尝试使用最少的文档设置Go项目:https://github.com/alphagov/metadata-api

我已经克隆了它,但是当我尝试go build时,我收到以下警告:

main.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/Sirupsen/logrus (from $GOROOT)
    /Users/me/go/src/github.com/Sirupsen/logrus (from $GOPATH)
main.go:14:2: cannot find package "github.com/alphagov/metadata-api/content_api" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/alphagov/metadata-api/content_api (from $GOROOT)
    /Users/me/go/src/github.com/alphagov/metadata-api/content_api (from $GOPATH)

我猜这是因为我还没有安装Go等效的要求?

我的GOPATH已设置:

metadata-api$ echo $GOPATH
/Users/me/go

Go可执行文件位于

metadata-ape$ echo $PATH
....:/Users/me/go/bin

我需要做些什么来帮助Go找到这些包?

5 个答案:

答案 0 :(得分:58)

您应首先安装包:

尝试

$ go get github.com/Sirupsen/logrus

并检查$GOPATH dir

此项目使用gom作为包管理器,

确保您已安装gom

或尝试此命令

$ gom install 

我认为您的$GOPATH$PATH设置不正确,$GOPATH环境变量指定了工作区的位置,这些是我的路径设置:

export GOROOT=$HOME/bin/go
export GOBIN=$GOROOT/bin
export GOPATH=$HOME/golang
export PATH=$PATH:$GOBIN

答案 1 :(得分:2)

通过输入以下内容即可解决Go 1.13.7中的类似问题:

 export GOPATH=~/go
 go get github.com/profile/repository 
 (e.g. github.com/Sirupsen/logrus)

答案 2 :(得分:1)

当你需要你的代码做一些其他人可能已经实现的事情时(在 Github 或其他地方的包中),你应该在你的文件夹中初始化 go mod 文件。)

为了便于理解,只需使用 example.com/module。

go mod init example.com/module

添加新的模块要求和总和。

保持整洁

运行你的程序

去跑吧。

欲知更多详情:https://golang.org/doc/tutorial/getting-started

答案 3 :(得分:0)

我有类似的问题,并且

export GO111MODULE=on 

有帮助。

答案 4 :(得分:0)