我是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找到这些包?
答案 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
添加新的模块要求和总和。
保持整洁
运行你的程序
去跑吧。
答案 3 :(得分:0)
我有类似的问题,并且
export GO111MODULE=on
有帮助。
答案 4 :(得分:0)