首页 > 解决方案 > 从本地文件安装 gopkg.in/yaml.v2 (Go)

问题描述

我正在尝试为要安装的工具构建 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 但我的服务器无法访问互联网。因此,我尝试了两种对我没有帮助的解决方案:

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'

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

标签: goyaml

解决方案


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

通过 go get 安装

go get gopkg.in/yaml.v2

并确保你设置了 GOPATH,如果没有

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

export GOPATH=<path>

更新

如果你不想尝试上面的方法,你可以试试这个。

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


推荐阅读