从本地文件安装Gopkg.in/yaml.v2(Go)

时间:2018-07-09 07:36:45

标签: go yaml

我正在尝试为要安装的工具构建Go文件,但出现以下错误:

pgwatch2.go:26:2: cannot find package "gopkg.in/yaml.v2" in any of:
    /usr/local/go/src/gopkg.in/yaml.v2 (from $GOROOT)
    /home/postgres/go/src/gopkg.in/yaml.v2 (from $GOPATH)"gopkg.in/yaml.v2" in any of:

我意识到我需要获取Go模块gopkg.in/yaml.v2,但是我的服务器无法访问Internet。因此,我尝试了2种对我没有帮助的解决方案:

1)百胜安装golang-gopkg-yaml-devel-v2.noarch

2)我下载了源文件(yaml-2.2.1.zip)并将其放在服务器中,但是我不知道如何从这里继续。如何安装Yaml?我试图解压缩并使用go install进入所需目录。 这是我收到的错误。

go install: no install location for directory /PostgreSQL/pgwatch2/pgwatch2-master/pgwatch2/yaml-2.2.1 outside GOPATH
    For more details see: 'go help gopath'

有人可以给我一些建议吗?

1 个答案:

答案 0 :(得分:1)

如果您不希望从Internet访问服务器,则可以添加一个位于公共子网中的新实例,然后在该实例中创建一个nat服务器并将该服务器连接到该nat实例,以便该服务器可以从互联网下载,但无法通过公共ip从互联网访问。

通过go get安装

go get gopkg.in/yaml.v2

并确保已设置GOPATH(如果未设置

在.bashrc(linux)中进行修改以添加以下行。

export GOPATH=<path>

更新

如果您不想尝试上述方法,可以尝试一下。

yaml-2.2.1.zip的内容提取到GOPATH/src/gopkg.in/yaml.v2
这应该可以,但是如果您有很多包装,可能会很累。