如何在Go中安装要求?“找不到包裹”


81

我是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查找这些软件包?


更新:我添加了Go到我的路径export PATH=$PATH:/Users/anna/go,现在go build不会产生任何错误...但是它似乎也不会产生任何东西。
理查德

Answers:


89

您应该先安装软件包:

尝试

$ go get github.com/Sirupsen/logrus

并检查你的$GOPATH目录

该项目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
谢谢。gom install似乎在解决问题,但是您如何知道该项目使用的gom呢?
理查德

14
我也尝试了很简单go get,我认为它同时获得了我的所有依赖。
约翰Bubriski

$ GOPATH环境变量指定工作空间的位置吗?这是否意味着我每次创建新的工作区项目时都必须导出所有这些变量?
Ugur Yilmaz


2

通过输入以下命令可以解决Go 1.13.7中的类似问题:

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.